Documentation 6b54b78464
Loading...
Searching...
No Matches
CFEASolver Class Reference

Main class for defining a FEM solver for elastic structural problems. More...

#include <CFEASolver.hpp>

Inheritance diagram for CFEASolver:
[legend]

Public Member Functions

 CFEASolver (LINEAR_SOLVER_MODE mesh_deform_mode=LINEAR_SOLVER_MODE::STANDARD)
 Constructor of the class.
 
 CFEASolver (CGeometry *geometry, CConfig *config)
 
 ~CFEASolver (void) override
 Destructor of the class.
 
void Preprocessing (CGeometry *geometry, CSolver **solver_container, CConfig *config, CNumerics **numerics, unsigned short iMesh, unsigned long Iteration, unsigned short RunTime_EqSystem, bool Output) override
 Set residuals to zero.
 
void SetInitialCondition (CGeometry **geometry, CSolver ***solver_container, CConfig *config, unsigned long TimeIter) override
 Set the initial condition for the FEM structural problem.
 
virtual su2double Get_ValCoord (const CGeometry *geometry, unsigned long indexNode, unsigned short iDim) const
 Get the value of the reference coordinate to set on the element structure.
 
void Compute_StiffMatrix (CGeometry *geometry, CNumerics **numerics, const CConfig *config) final
 Compute the stiffness matrix of the problem.
 
void Compute_StiffMatrix_NodalStressRes (CGeometry *geometry, CNumerics **numerics, const CConfig *config) final
 Compute the stiffness matrix of the problem and the nodal stress terms at the same time.
 
void Compute_MassMatrix (const CGeometry *geometry, CNumerics **numerics, const CConfig *config) final
 Compute the mass matrix of the problem.
 
void Compute_MassRes (const CGeometry *geometry, CNumerics **numerics, const CConfig *config) final
 Compute the mass residual of the problem.
 
void Compute_NodalStressRes (CGeometry *geometry, CNumerics **numerics, const CConfig *config) final
 Compute the nodal stress terms and add them to the residual.
 
void Compute_NodalStress (CGeometry *geometry, CNumerics **numerics, const CConfig *config)
 Compute the stress at the nodes for output purposes.
 
void Compute_BodyForces (CGeometry *geometry, CNumerics **numerics, const CConfig *config) final
 Compute the inertial loads.
 
void BC_Clamped (CGeometry *geometry, const CConfig *config, unsigned short val_marker) final
 Clamped boundary conditions.
 
void BC_Clamped_Post (CGeometry *geometry, const CConfig *config, unsigned short val_marker) final
 Enforce the solution to be 0 in the clamped nodes - Avoids accumulation of numerical error.
 
void BC_Sym_Plane (CGeometry *geometry, const CConfig *config, unsigned short val_marker) final
 Symmetry boundary conditions.
 
void BC_DispDir (CGeometry *geometry, const CConfig *config, unsigned short val_marker) final
 A virtual member.
 
void BC_Normal_Load (CGeometry *geometry, const CConfig *config, unsigned short val_marker) final
 Impose a load boundary condition normal to the boundary.
 
void BC_Dir_Load (CGeometry *geometry, const CConfig *config, unsigned short val_marker) final
 Impose a load boundary condition in cartesian coordinates.
 
void BC_Sine_Load (CGeometry *geometry, const CConfig *config, unsigned short val_marker) final
 Impose a sine-wave load boundary condition in cartesian coordinates.
 
void BC_Damper (CGeometry *geometry, const CConfig *config, unsigned short val_marker) final
 Impose a damping load.
 
void ImplicitNewmark_Iteration (const CGeometry *geometry, CNumerics **numerics, const CConfig *config) final
 Iterate using an implicit Newmark solver.
 
void ImplicitNewmark_Update (const CGeometry *geometry, const CConfig *config) final
 Update the solution using an implicit Newmark solver.
 
void ImplicitNewmark_Relaxation (const CGeometry *geometry, const CConfig *config) final
 A virtual member.
 
void GeneralizedAlpha_Iteration (const CGeometry *geometry, CNumerics **numerics, const CConfig *config) final
 Iterate using an implicit Generalized Alpha solver.
 
void GeneralizedAlpha_UpdateDisp (const CGeometry *geometry, const CConfig *config) final
 Update the solution using an implicit Generalized Alpha solver.
 
void GeneralizedAlpha_UpdateSolution (const CGeometry *geometry, const CConfig *config) final
 Update the solution using an implicit Generalized Alpha solver.
 
void GeneralizedAlpha_UpdateLoads (const CGeometry *geometry, const CConfig *config) final
 Update the solution using an implicit Generalized Alpha solver.
 
void Postprocessing (CGeometry *geometry, CConfig *config, CNumerics **numerics, bool of_comp_mode) final
 Postprocessing.
 
void Solve_System (CGeometry *geometry, CConfig *config) final
 Routine to solve the Jacobian-Residual linearized system.
 
su2double GetRes_FEM (unsigned short val_var) const final
 Get the residual for FEM structural analysis.
 
su2double GetTotal_CFEA (void) const final
 Provide the maximum Von Mises Stress for structural analysis.
 
su2double GetTotal_OFRefGeom (void) const final
 Retrieve the value of the objective function for a reference geometry.
 
su2double GetTotal_OFRefNode (void) const final
 Retrieve the value of the objective function for a reference node.
 
su2double GetTotal_OFVolFrac (void) const final
 Retrieve the value of the volume fraction objective function.
 
su2double GetTotal_OFDiscreteness (void) const final
 Retrieve the value of the discreteness objective function.
 
su2double GetTotal_OFCompliance (void) const final
 Retrieve the value of the structural compliance objective function.
 
su2double GetTotal_OFStressPenalty (void) const final
 Retrieve the value of the stress penalty objective function.
 
void Evaluate_ObjFunc (const CConfig *config, CSolver **solver) final
 Compute the objective function.
 
bool IsElementBased (void) const final
 Determines whether there is an element-based file or not.
 
void SetTotal_CFEA (su2double val_cfea) final
 Set the value of the FEA coefficient.
 
void SetTotal_OFRefGeom (su2double val_ofrefgeom) final
 Set the value of the objective function for a reference geometry.
 
void SetTotal_OFRefNode (su2double val_ofrefnode) final
 Set the value of the objective function for a reference node.
 
void SetForceCoeff (su2double val_forcecoeff) final
 Set the value of the force coefficient history for the history file.
 
void SetFSI_Residual (su2double val_FSI_residual) final
 Set the value of the FSI residual for the history file.
 
void SetRelaxCoeff (su2double val_relaxcoeff) final
 Set the value of the FSI relaxation factor.
 
su2double GetForceCoeff (void) const final
 Get the value of the force coefficient history for the history file.
 
su2double GetRelaxCoeff (void) const final
 Get the value of the relaxation coefficient history for the history file.
 
su2double GetFSI_Residual (void) const final
 Get the value of the FSI residual for the history file.
 
void PredictStruct_Displacement (CGeometry *geometry, const CConfig *config) final
 Predictor for structural displacements based on previous iterations.
 
void ComputeAitken_Coefficient (CGeometry *geometry, const CConfig *config, unsigned long iOuterIter) final
 Computation of Aitken's coefficient.
 
void SetAitken_Relaxation (CGeometry *geometry, const CConfig *config) final
 Aitken's relaxation of the solution.
 
void Stiffness_Penalty (CGeometry *geometry, CNumerics **numerics_container, CConfig *config)
 Compute the penalty due to the stiffness increase.
 
void SetFSI_ConvValue (unsigned short val_index, su2double val_criteria) final
 Get the value of the FSI convergence.
 
su2double GetFSI_ConvValue (unsigned short val_index) const final
 Get the value of the FSI convergence.
 
void SetWAitken_Dyn_tn1 () final
 Store the value of the last Aitken relaxation factor in the current time step.
 
void SetLoad_Increment (unsigned long iInc, su2double loadInc) final
 Set the value of the load increment for nonlinear structural analysis.
 
su2double GetLoad_Increment (void) const final
 Get the value of the load increment for nonlinear structural analysis.
 
unsigned short Get_iElem_iDe (unsigned long iElem) const final
 Retrieve the iDe index for DE computations.
 
void LoadRestart (CGeometry **geometry, CSolver ***solver, CConfig *config, int val_iter, bool val_update_geo) override
 Load a solution from a restart file.
 
su2double Compute_LoadCoefficient (su2double CurrentTime, su2double RampTime, const CConfig *config) final
 Get multiplier for loads.
 
void RegisterVariables (CGeometry *geometry, CConfig *config, bool reset) override
 A virtual member.
 
void ExtractAdjoint_Variables (CGeometry *geometry, CConfig *config) override
 A virtual member.
 
void FilterElementDensities (CGeometry *geometry, const CConfig *config)
 Filter the density field for topology optimization applications.
 
- Public Member Functions inherited from CFEASolverBase
 CFEASolverBase (LINEAR_SOLVER_MODE mesh_deform_mode=LINEAR_SOLVER_MODE::STANDARD)
 Constructor of the class.
 
 CFEASolverBase (CGeometry *geometry, CConfig *config, LINEAR_SOLVER_MODE mesh_deform_mode=LINEAR_SOLVER_MODE::STANDARD)
 
 ~CFEASolverBase ()
 Destructor of the class.
 
void CommunicateExtraEliminationVertices (const CGeometry *geometry, vector< unsigned long > &myPoints)
 Communicate extra vertices for elimination in the linear system.
 
- Public Member Functions inherited from CSolver
 CSolver (LINEAR_SOLVER_MODE linear_solver_mode=LINEAR_SOLVER_MODE::STANDARD)
 Constructor of the class.
 
virtual ~CSolver (void)
 Destructor of the class.
 
CVariable * GetNodes ()
 Allow outside access to the nodes of the solver, containing conservatives, primitives, etc.
 
const CVariable * GetNodes () const
 
bool HasPeriodicRotation (const CConfig &config) const
 
void GetCommCountAndType (const CConfig *config, MPI_QUANTITIES commType, unsigned short &COUNT_PER_POINT, COMM_TYPE &MPI_TYPE) const
 Helper function to define the type and number of variables per point for each communication type.
 
void InitiateComms (CGeometry *geometry, const CConfig *config, MPI_QUANTITIES commType)
 Routine to load a solver quantity into the data structures for MPI point-to-point communication and to launch non-blocking sends and recvs.
 
void CompleteComms (CGeometry *geometry, const CConfig *config, MPI_QUANTITIES commType)
 Routine to complete the set of non-blocking communications launched by InitiateComms() and unpacking of the data in the solver class.
 
void GetPeriodicCommCountAndType (const CConfig *config, unsigned short commType, unsigned short &COUNT_PER_POINT, COMM_TYPE &MPI_TYPE, unsigned short &ICOUNT, unsigned short &JCOUNT) const
 Helper function to define the type and number of variables per point for each communication type.
 
void InitiatePeriodicComms (CGeometry *geometry, const CConfig *config, unsigned short val_periodic_index, unsigned short commType)
 Routine to load a solver quantity into the data structures for MPI periodic communication and to launch non-blocking sends and recvs.
 
void CompletePeriodicComms (CGeometry *geometry, const CConfig *config, unsigned short val_periodic_index, unsigned short commType)
 Routine to complete the set of non-blocking periodic communications launched by InitiatePeriodicComms() and unpacking of the data in the solver class.
 
void SetIterLinSolver (unsigned short val_iterlinsolver)
 Set number of linear solver iterations.
 
void SetResLinSolver (su2double val_reslinsolver)
 Set the final linear solver residual.
 
void SetResidual_RMS (const CGeometry *geometry, const CConfig *config, bool force=false)
 Set the value of the max residual and RMS residual.
 
void SetResidual_BGS (const CGeometry *geometry, const CConfig *config)
 Communicate the value of the max residual and RMS residual.
 
void ComputeResidual_Multizone (const CGeometry *geometry, const CConfig *config)
 Set the value of the max residual and RMS residual.
 
virtual void SetDualTime_Mesh (void)
 Move the mesh in time.
 
bool GetAdjoint (void) const
 Get information whether the initialization is an adjoint solver or not.
 
virtual CFluidModel * GetFluidModel (void) const
 Compute the pressure at the infinity.
 
unsigned short GetIterLinSolver (void) const
 Get number of linear solver iterations.
 
su2double GetResLinSolver (void) const
 Get the final linear solver residual.
 
su2double GetMax_Delta_Time (void) const
 Get the value of the maximum delta time.
 
su2double GetMin_Delta_Time (void) const
 Get the value of the minimum delta time.
 
su2double GetMax_CFL_Local (void) const
 Get the value of the maximum local CFL number.
 
su2double GetMin_CFL_Local (void) const
 Get the value of the minimum local CFL number.
 
su2double GetAvg_CFL_Local (void) const
 Get the value of the average local CFL number.
 
void SetCFL_Local_Stats (su2double val_cfl)
 Set min/max/avg local CFL summary statistics.
 
unsigned short GetnVar (void) const
 Get the number of variables of the problem.
 
unsigned short GetnPrimVar (void) const
 Get the number of variables of the problem.
 
unsigned short GetnPrimVarGrad (void) const
 Get the number of variables of the problem.
 
unsigned short GetnSecondaryVar (void) const
 Get the number of variables of the problem.
 
unsigned short GetnOutputVariables (void) const
 Get the number of variables of the problem.
 
virtual void SetResidual_DualTime (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep, unsigned short iMesh, unsigned short RunTime_EqSystem)
 A virtual member.
 
su2double GetRes_RMS (unsigned short val_var) const
 Get the maximal residual, this is useful for the convergence history.
 
su2double GetRes_Max (unsigned short val_var) const
 Get the maximal residual, this is useful for the convergence history.
 
su2double GetRes_BGS (unsigned short val_var) const
 Get the residual for BGS subiterations.
 
su2double GetRes_Max_BGS (unsigned short val_var) const
 Get the maximal residual for BGS subiterations.
 
unsigned long GetPoint_Max (unsigned short val_var) const
 Get the maximal residual, this is useful for the convergence history.
 
const su2double * GetPoint_Max_Coord (unsigned short val_var) const
 Get the location of the maximal residual, this is useful for the convergence history.
 
unsigned long GetPoint_Max_BGS (unsigned short val_var) const
 Get the maximal residual, this is useful for the convergence history.
 
const su2double * GetPoint_Max_Coord_BGS (unsigned short val_var) const
 Get the location of the maximal residual, this is useful for the convergence history.
 
void SetRotatingFrame_GCL (CGeometry *geometry, const CConfig *config)
 Set Value of the residual due to the Geometric Conservation Law (GCL) for steady rotating frame problems.
 
void SetAuxVar_Gradient_GG (CGeometry *geometry, const CConfig *config)
 Compute the Green-Gauss gradient of the auxiliary variable.
 
void SetAuxVar_Gradient_LS (CGeometry *geometry, const CConfig *config)
 Compute the Least Squares gradient of the auxiliary variable.
 
void Add_External_To_Solution ()
 Add External to Solution vector.
 
void Add_Solution_To_External ()
 Add the current Solution vector to External.
 
void Update_Cross_Term (CConfig *config, su2passivematrix &cross_term)
 Update a given cross-term with relaxation and the running total (External).
 
void SetSolution_Gradient_GG (CGeometry *geometry, const CConfig *config, short idxVel, bool reconstruction=false)
 Compute the Green-Gauss gradient of the solution.
 
void SetSolution_Gradient_LS (CGeometry *geometry, const CConfig *config, short idxVel, bool reconstruction=false)
 Compute the Least Squares gradient of the solution.
 
void SetGridVel_Gradient (CGeometry *geometry, const CConfig *config) const
 Compute the Least Squares gradient of the grid velocity.
 
void SetSolution_Limiter (CGeometry *geometry, const CConfig *config)
 Compute slope limiter.
 
virtual void SetPrimitive_Limiter (CGeometry *geometry, const CConfig *config)
 A virtual member.
 
virtual su2double GetFlameThickness () const
 A virtual member.
 
su2double MUSCL_Reconstruction (const su2double *grad, const su2double *vector_ij, su2double delta_ij, su2double kappa, su2double ramp_val) const
 Compute the projection of a variable for MUSCL reconstruction.
 
virtual void Set_OldSolution ()
 Set the old solution variables to the current solution value for Runge-Kutta iteration. It is a virtual function, because for the DG-FEM solver a different version is needed.
 
virtual void Set_NewSolution ()
 Set the new solution variables to the current solution value for classical RK.
 
void Restart_OldGeometry (CGeometry *geometry, CConfig *config) const
 Load the geometries at the previous time states n and nM1.
 
virtual void SetTime_Step (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, unsigned long Iteration)
 A virtual member.
 
virtual void CheckTimeSynchronization (CConfig *config, const su2double TimeSync, su2double &timeEvolved, bool &syncTimeReached)
 A virtual member.
 
virtual void ProcessTaskList_DG (CGeometry *geometry, CSolver **solver_container, CNumerics **numerics, CConfig *config, unsigned short iMesh)
 A virtual member.
 
virtual void ADER_SpaceTimeIntegration (CGeometry *geometry, CSolver **solver_container, CNumerics **numerics, CConfig *config, unsigned short iMesh, unsigned short RunTime_EqSystem)
 A virtual member.
 
virtual void ComputeSpatialJacobian (CGeometry *geometry, CSolver **solver_container, CNumerics **numerics, CConfig *config, unsigned short iMesh, unsigned short RunTime_EqSystem)
 A virtual member.
 
virtual void Postprocessing (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh)
 A virtual member.
 
virtual void Centered_Residual (CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container, CConfig *config, unsigned short iMesh, unsigned short iRKStep)
 A virtual member.
 
virtual void Upwind_Residual (CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container, CConfig *config, unsigned short iMesh)
 A virtual member.
 
virtual void Preprocessing (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, unsigned short iRKStep, unsigned short RunTime_EqSystem, bool Output)
 A virtual member.
 
virtual void ComputeEdgeMassFluxesRhieChow (CGeometry *geometry, CSolver **solver_container, CConfig *config)
 A virtual member.
 
virtual void ApplyPressureVelocityCorrection (CGeometry *geometry, CSolver **solver_container, CConfig *config)
 A virtual member.
 
virtual void Set_Heatflux_Areas (CGeometry *geometry, CConfig *config)
 A virtual member.
 
virtual void BC_Euler_Wall (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void MultigridProjectEulerWall (CGeometry *, const CConfig *, bool)
 Enforce Euler wall BC on a restricted or prolongated multigrid solution by projecting the momentum to the tangent plane of the wall.
 
virtual void BC_Normal_Displacement (CGeometry *geometry, CNumerics *numerics, const CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Periodic (CGeometry *geometry, CSolver **solver_container, CNumerics *numerics, CConfig *config)
 A virtual member.
 
virtual void BC_Fluid_Interface (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config)
 Impose the interface state across sliding meshes.
 
virtual void BC_ActDisk_Inlet (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_ActDisk_Outlet (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_ActDisk (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker, bool val_inlet_surface)
 A virtual member.
 
virtual void BC_Isothermal_Wall (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_HeatFlux_Wall (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_HeatTransfer_Wall (const CGeometry *geometry, const CConfig *config, const unsigned short val_marker)
 Impose a heat flux by prescribing a heat transfer coefficient and a temperature at infinity.
 
virtual void BC_Far_Field (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Sym_Plane (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 Impose via the residual the Euler boundary condition.
 
virtual void BC_Riemann (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_TurboRiemann (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void PreprocessBC_Giles (CGeometry *geometry, CConfig *config, CNumerics *conv_numerics, unsigned short marker_flag)
 It computes Fourier transformation for the needed quantities along the pitch for each span in turbomachinery analysis.
 
virtual void BC_Giles (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual std::shared_ptr< CTurboOutput > GetTurboBladePerformance () const
 
virtual void BC_Inlet (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Inlet_Turbo (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Inlet_MixingPlane (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Supersonic_Inlet (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Supersonic_Outlet (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Custom (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Outlet (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Engine_Inflow (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Engine_Exhaust (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_ConjugateHeat_Interface (CGeometry *geometry, CSolver **solver_container, CNumerics *numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void BC_Smoluchowski_Maxwell (CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker)
 A virtual member.
 
virtual void Impose_Fixed_Values (const CGeometry *geometry, const CConfig *config)
 Virtual function to apply something like a strong BC to the whole domain.
 
virtual su2double GetMixingState (unsigned short val_marker, unsigned long val_span, unsigned short val_state) const
 Get a component of the donor-side averaged state at a mixing plane interface.
 
virtual void SetMixingState (unsigned short val_marker, unsigned long val_span, unsigned short val_state, su2double component)
 Set a component of the donor-side averaged state at a mixing plane interface nodes.
 
virtual su2double GetSlidingState (unsigned short val_marker, unsigned long val_vertex, unsigned short val_state, unsigned long donor_index) const
 Get the outer state for fluid interface nodes.
 
virtual void SetSlidingStateStructure (unsigned short val_marker, unsigned long val_vertex)
 Allocates the final pointer of SlidingState depending on how many donor vertex donate to it. That number is stored in SlidingStateNodes[val_marker][val_vertex].
 
virtual void SetSlidingState (unsigned short val_marker, unsigned long val_vertex, unsigned short val_state, unsigned long donor_index, su2double component)
 Set the outer state for fluid interface nodes.
 
virtual int GetnSlidingStates (unsigned short val_marker, unsigned long val_vertex) const
 Get the number of outer states for fluid interface nodes.
 
virtual void SetnSlidingStates (unsigned short val_marker, unsigned long val_vertex, int value)
 Set the number of outer states for fluid interface nodes.
 
virtual void SetConjugateHeatVariable (unsigned short val_marker, unsigned long val_vertex, unsigned short pos_var, su2double relaxation_factor, su2double val_var)
 Set the conjugate heat variables.
 
virtual su2double GetConjugateHeatVariable (unsigned short val_marker, unsigned long val_vertex, unsigned short pos_var) const
 Set the conjugate heat variables.
 
virtual void ExplicitRK_Iteration (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep)
 A virtual member.
 
virtual void ClassicalRK4_Iteration (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep)
 A virtual member.
 
virtual void ExplicitEuler_Iteration (CGeometry *geometry, CSolver **solver_container, CConfig *config)
 A virtual member.
 
virtual void PrepareImplicitIteration (CGeometry *geometry, CSolver **solver_container, CConfig *config)
 A virtual member.
 
virtual void CompleteImplicitIteration (CGeometry *geometry, CSolver **solver_container, CConfig *config)
 A virtual member.
 
virtual void ImplicitEuler_Iteration (CGeometry *geometry, CSolver **solver_container, CConfig *config)
 A virtual member.
 
void AdaptCFLNumber (CGeometry **geometry, CSolver ***solver_container, CConfig *config)
 Adapt the CFL number based on the local under-relaxation parameters computed for each nonlinear iteration.
 
virtual void IdentifySolutionOutliers (const CConfig *config, unsigned long iter)
 Identify points where the solution is an outlier (physics-specific concept) so that solvers can try to restore them to a stable condition.
 
void ResetCFLAdapt ()
 Reset the local CFL adaption variables.
 
virtual void Pressure_Forces (const CGeometry *geometry, const CConfig *config)
 A virtual member.
 
virtual void Momentum_Forces (const CGeometry *geometry, const CConfig *config)
 A virtual member.
 
virtual void Friction_Forces (const CGeometry *geometry, const CConfig *config)
 A virtual member.
 
virtual void Heat_Fluxes (CGeometry *geometry, CSolver **solver_container, CConfig *config)
 A virtual member.
 
virtual void SetPrimitive_Gradient_GG (CGeometry *geometry, const CConfig *config, bool reconstruction=false)
 A virtual member.
 
virtual void SetPrimitive_Gradient_LS (CGeometry *geometry, const CConfig *config, bool reconstruction=false)
 A virtual member.
 
virtual void Viscous_Residual (CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container, CConfig *config, unsigned short iMesh, unsigned short iRKStep)
 A virtual member.
 
virtual void Source_Residual (CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container, CConfig *config, unsigned short iMesh)
 A virtual member.
 
virtual void Source_Template (CGeometry *geometry, CSolver **solver_container, CNumerics *numerics, CConfig *config, unsigned short iMesh)
 A virtual member.
 
virtual void SetCSensitivity (unsigned short val_marker, unsigned long val_vertex, su2double val_sensitivity)
 A virtual member.
 
virtual void SetForceProj_Vector (CGeometry *geometry, CSolver **solver_container, CConfig *config)
 A virtual member.
 
virtual void SetTotal_CD (su2double val_Total_CD)
 A virtual member.
 
virtual void SetTotal_CL (su2double val_Total_CL)
 A virtual member.
 
virtual void SetTotal_NetThrust (su2double val_Total_NetThrust)
 A virtual member.
 
virtual void SetTotal_Power (su2double val_Total_Power)
 A virtual member.
 
virtual void SetTotal_SolidCD (su2double val_Total_SolidCD)
 A virtual member.
 
virtual void SetTotal_ReverseFlow (su2double val_Total_ReverseFlow)
 A virtual member.
 
virtual void SetTotal_MFR (su2double val_Total_MFR)
 A virtual member.
 
virtual void SetTotal_Prop_Eff (su2double val_Total_Prop_Eff)
 A virtual member.
 
virtual void SetTotal_ByPassProp_Eff (su2double val_Total_ByPassProp_Eff)
 A virtual member.
 
virtual void SetTotal_Adiab_Eff (su2double val_Total_Adiab_Eff)
 A virtual member.
 
virtual void SetTotal_Poly_Eff (su2double val_Total_Poly_Eff)
 A virtual member.
 
virtual void SetTotal_IDC (su2double val_Total_IDC)
 A virtual member.
 
virtual void SetTotal_IDC_Mach (su2double val_Total_IDC_Mach)
 A virtual member.
 
virtual void SetTotal_IDR (su2double val_Total_IDR)
 A virtual member.
 
virtual void SetTotal_DC60 (su2double val_Total_DC60)
 A virtual member.
 
virtual void SetTotal_CT (su2double val_Total_CT)
 A virtual member.
 
virtual void SetTotal_CQ (su2double val_Total_CQ)
 A virtual member.
 
virtual void SetTotal_HeatFlux (su2double val_Total_Heat)
 A virtual member.
 
virtual void SetTotal_MaxHeatFlux (su2double val_Total_MaxHeat)
 A virtual member.
 
virtual void Inviscid_Sensitivity (CGeometry *geometry, CSolver **solver_container, CNumerics *numerics, CConfig *config)
 A virtual member.
 
virtual void Smooth_Sensitivity (CGeometry *geometry, CSolver **solver_container, CNumerics *numerics, CConfig *config)
 A virtual member.
 
virtual void Viscous_Sensitivity (CGeometry *geometry, CSolver **solver_container, CNumerics *numerics, CConfig *config)
 A virtual member.
 
su2double GetTotal_ComboObj () const
 Provide the total "combo" objective (weighted sum of other values).
 
void SetTotal_Custom_ObjFunc (su2double value)
 Sets the value of the custom objective function.
 
virtual su2double GetCL_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetCL_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CL (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CD (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CSF (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CEff (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CFx (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CFy (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CFz (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CMx (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CMy (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CMz (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CL_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CD_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CSF_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CEff_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CFx_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CFy_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CFz_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CMx_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CMy_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CMz_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CL_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CD_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CSF_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CEff_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CFx_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CFy_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CFz_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CMx_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CMy_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CMz_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_Buffet_Metric (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CL_Mnt (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CD_Mnt (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CSF_Mnt (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CEff_Mnt (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CFx_Mnt (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CFy_Mnt (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CFz_Mnt (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CMx_Mnt (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CMy_Mnt (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_CMz_Mnt (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetCSF_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetCD_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetInflow_MassFlow (unsigned short val_marker) const
 A virtual member.
 
virtual bool FixedCL_Convergence (CConfig *config, bool convergence)
 A virtual member.
 
virtual bool GetStart_AoA_FD (void) const
 A virtual member.
 
virtual bool GetEnd_AoA_FD (void) const
 A virtual member.
 
virtual unsigned long GetIter_Update_AoA (void) const
 A virtual member.
 
virtual su2double GetPrevious_AoA (void) const
 A virtual member.
 
virtual su2double GetAoA_inc (void) const
 A virtual member.
 
virtual su2double GetExhaust_MassFlow (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetInflow_Pressure (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetInflow_Mach (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetCSF_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetCEff_Inv (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_HF_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetSurface_MaxHF_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetCD_Visc (unsigned short val_marker) const
 A virtual member.
 
virtual su2double GetTotal_CSF () const
 A virtual member.
 
virtual su2double GetTotal_CEff () const
 A virtual member.
 
virtual su2double GetTotal_CT () const
 A virtual member.
 
virtual su2double GetTotal_CQ () const
 A virtual member.
 
virtual su2double GetTotal_HeatFlux () const
 A virtual member.
 
virtual su2double GetTotal_MaxHeatFlux () const
 A virtual member.
 
virtual su2double GetTotal_AvgTemperature () const
 A virtual member.
 
virtual su2double GetTotal_CMerit () const
 A virtual member.
 
virtual su2double GetTotal_CEquivArea () const
 A virtual member.
 
virtual su2double GetTotal_AeroCD () const
 A virtual member.
 
virtual su2double GetTotal_CpDiff () const
 A virtual member.
 
virtual su2double GetTotal_HeatFluxDiff () const
 A virtual member.
 
virtual su2double GetTotal_CNearFieldOF () const
 A virtual member.
 
virtual void SetTotal_CEquivArea (su2double val_cequivarea)
 A virtual member.
 
virtual void SetTotal_AeroCD (su2double val_aerocd)
 A virtual member.
 
virtual void SetTotal_CpDiff (su2double val_pressure)
 A virtual member.
 
virtual void SetTotal_HeatFluxDiff (su2double val_heat)
 A virtual member.
 
virtual void SetTotal_CNearFieldOF (su2double val_cnearfieldpress)
 A virtual member.
 
virtual su2double GetAeroCoeffsReferenceForce () const
 Get the reference force used to compute CL, CD, etc.
 
virtual su2double GetReferenceDynamicPressure () const
 Get the reference dynamic pressure, for Cp, Cf, etc.
 
virtual su2double GetTotal_CL () const
 A virtual member.
 
virtual su2double GetTotal_CD () const
 A virtual member.
 
virtual su2double GetTotal_NetThrust () const
 A virtual member.
 
virtual su2double GetTotal_Power () const
 A virtual member.
 
virtual su2double GetTotal_SolidCD () const
 A virtual member.
 
virtual su2double GetTotal_ReverseFlow () const
 A virtual member.
 
virtual su2double GetTotal_MFR () const
 A virtual member.
 
virtual su2double GetTotal_Prop_Eff () const
 A virtual member.
 
virtual su2double GetTotal_ByPassProp_Eff () const
 A virtual member.
 
virtual su2double GetTotal_Adiab_Eff () const
 A virtual member.
 
virtual su2double GetTotal_Poly_Eff () const
 A virtual member.
 
virtual su2double GetTotal_IDC () const
 A virtual member.
 
virtual su2double GetTotal_IDC_Mach () const
 A virtual member.
 
virtual su2double GetTotal_IDR () const
 A virtual member.
 
virtual su2double GetTotal_DC60 () const
 A virtual member.
 
virtual su2double GetTotal_CMx () const
 A virtual member.
 
virtual su2double GetTotal_CMy () const
 A virtual member.
 
virtual su2double GetTotal_CMz () const
 A virtual member.
 
virtual su2double GetTotal_CoPx () const
 A virtual member.
 
virtual su2double GetTotal_CoPy () const
 A virtual member.
 
virtual su2double GetTotal_CoPz () const
 A virtual member.
 
virtual su2double GetTotal_CFx () const
 A virtual member.
 
virtual su2double GetTotal_CFy () const
 A virtual member.
 
virtual su2double GetTotal_CFz () const
 A virtual member.
 
virtual su2double GetAllBound_CL_Inv () const
 A virtual member.
 
virtual su2double GetAllBound_CD_Inv () const
 A virtual member.
 
virtual su2double GetAllBound_CSF_Inv () const
 A virtual member.
 
virtual su2double GetAllBound_CEff_Inv () const
 A virtual member.
 
virtual su2double GetAllBound_CMx_Inv () const
 A virtual member.
 
virtual su2double GetAllBound_CMy_Inv () const
 A virtual member.
 
virtual su2double GetAllBound_CMz_Inv () const
 A virtual member.
 
virtual su2double GetAllBound_CoPx_Inv () const
 A virtual member.
 
virtual su2double GetAllBound_CoPy_Inv () const
 A virtual member.
 
virtual su2double GetAllBound_CoPz_Inv () const
 A virtual member.
 
virtual su2double GetAllBound_CFx_Inv () const
 A virtual member.
 
virtual su2double GetAllBound_CFy_Inv () const
 A virtual member.
 
virtual su2double GetAllBound_CFz_Inv () const
 A virtual member.
 
virtual su2double GetAllBound_CL_Visc () const
 A virtual member.
 
virtual su2double GetAllBound_CD_Visc () const
 A virtual member.
 
virtual su2double GetAllBound_CSF_Visc () const
 A virtual member.
 
virtual su2double GetAllBound_CEff_Visc () const
 A virtual member.
 
virtual su2double GetAllBound_CMx_Visc () const
 A virtual member.
 
virtual su2double GetAllBound_CMy_Visc () const
 A virtual member.
 
virtual su2double GetAllBound_CMz_Visc () const
 A virtual member.
 
virtual su2double GetAllBound_CoPx_Visc () const
 A virtual member.
 
virtual su2double GetAllBound_CoPy_Visc () const
 A virtual member.
 
virtual su2double GetAllBound_CoPz_Visc () const
 A virtual member.
 
virtual su2double GetAllBound_CFx_Visc () const
 A virtual member.
 
virtual su2double GetAllBound_CFy_Visc () const
 A virtual member.
 
virtual su2double GetAllBound_CFz_Visc () const
 A virtual member.
 
virtual su2double GetAllBound_CL_Mnt () const
 A virtual member.
 
virtual su2double GetAllBound_CD_Mnt () const
 A virtual member.
 
virtual su2double GetAllBound_CSF_Mnt () const
 A virtual member.
 
virtual su2double GetAllBound_CEff_Mnt () const
 A virtual member.
 
virtual su2double GetAllBound_CMx_Mnt () const
 A virtual member.
 
virtual su2double GetAllBound_CMy_Mnt () const
 A virtual member.
 
virtual su2double GetAllBound_CMz_Mnt () const
 A virtual member.
 
virtual su2double GetAllBound_CoPx_Mnt () const
 A virtual member.
 
virtual su2double GetAllBound_CoPy_Mnt () const
 A virtual member.
 
virtual su2double GetAllBound_CoPz_Mnt () const
 A virtual member.
 
virtual su2double GetAllBound_CFx_Mnt () const
 A virtual member.
 
virtual su2double GetAllBound_CFy_Mnt () const
 A virtual member.
 
virtual su2double GetAllBound_CFz_Mnt () const
 A virtual member.
 
virtual su2double GetTotal_Buffet_Metric () const
 A virtual member.
 
virtual su2double GetCPressure (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual su2double GetCPressureTarget (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual void SetCPressureTarget (unsigned short val_marker, unsigned long val_vertex, su2double val_pressure)
 A virtual member.
 
virtual void SetCharacPrimVar (unsigned short val_marker, unsigned long val_vertex, unsigned short val_var, su2double val_value)
 A virtual member.
 
virtual unsigned long GetDonorGlobalIndex (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual void SetDonorGlobalIndex (unsigned short val_marker, unsigned long val_vertex, unsigned long val_index)
 A virtual member.
 
virtual su2double * GetCharacPrimVar (unsigned short val_marker, unsigned long val_vertex)
 A virtual member.
 
virtual su2double GetInletTtotal (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual su2double GetInletPtotal (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual su2double GetInletFlowDir (unsigned short val_marker, unsigned long val_vertex, unsigned short val_dim) const
 A virtual member.
 
virtual void SetCustomBoundaryScalar (unsigned short val_marker, unsigned long val_vertex, vector< passivedouble > val_customBoundaryScalar)
 Set the value of the customized normal scalar values/flux at a specified vertex on a specified marker.
 
virtual void SetInletTtotal (unsigned short val_marker, unsigned long val_vertex, su2double val_ttotal)
 A virtual member.
 
virtual void SetInletPtotal (unsigned short val_marker, unsigned long val_vertex, su2double val_ptotal)
 A virtual member.
 
virtual void SetInletFlowDir (unsigned short val_marker, unsigned long val_vertex, unsigned short val_dim, su2double val_flowdir)
 A virtual member.
 
virtual void UpdateFarfieldVelocity (const CConfig *config)
 Updates the components of the farfield velocity vector.
 
virtual void SetInlet_TurbVar (unsigned short val_marker, unsigned long val_vertex, unsigned short val_dim, su2double val_turb_var)
 A virtual member.
 
virtual void SetUniformInlet (const CConfig *config, unsigned short iMarker)
 A virtual member.
 
virtual void SetInletAtVertex (const su2double *val_inlet, unsigned short iMarker, unsigned long iVertex)
 A virtual member.
 
virtual su2double GetInletAtVertex (unsigned short iMarker, unsigned long iVertex, const CGeometry *geometry, su2double *val_inlet) const
 Get the set of values imposed at an inlet.
 
virtual void UpdateCustomBoundaryConditions (CGeometry **geometry_container, CSolver ***solver_container, CConfig *config)
 Update the multi-grid structure for the customized boundary conditions.
 
virtual su2double GetCSkinFriction (unsigned short val_marker, unsigned long val_vertex, unsigned short val_dim) const
 A virtual member.
 
virtual su2double GetWallShearStress (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual su2double GetHeatFlux (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual su2double GetHeatFluxTarget (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual void SetHeatFluxTarget (unsigned short val_marker, unsigned long val_vertex, su2double val_heat)
 A virtual member.
 
virtual su2double GetBuffetSensor (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual su2double GetYPlus (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual su2double GetUTau (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual su2double GetEddyViscWall (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual const su2activevector * GetEdgeMassFluxes () const
 A virtual member.
 
virtual su2double GetStrainMag_Max (void) const
 A virtual member.
 
virtual su2double GetOmega_Max (void) const
 A virtual member.
 
virtual su2double GetPsiRho_Inf (void) const
 A virtual member.
 
virtual su2double GetPsiE_Inf (void) const
 A virtual member.
 
virtual su2double GetPhi_Inf (unsigned short val_dim) const
 A virtual member.
 
virtual su2double GetTotal_Sens_Geo () const
 A virtual member.
 
virtual su2double GetTotal_Sens_Mach () const
 A virtual member.
 
virtual su2double GetTotal_Sens_AoA () const
 A virtual member.
 
virtual su2double GetTotal_Sens_Press () const
 Set the total farfield pressure sensitivity coefficient.
 
virtual su2double GetTotal_Sens_Temp () const
 Set the total farfield temperature sensitivity coefficient.
 
virtual su2double GetTotal_Sens_BPress () const
 Get the total back pressure sensitivity coefficient.
 
virtual su2double GetTotal_Sens_Density () const
 A virtual member.
 
virtual su2double GetTotal_Sens_ModVel () const
 A virtual member.
 
virtual su2double GetDensity_Inf (void) const
 A virtual member.
 
virtual su2double GetModVelocity_Inf (void) const
 A virtual member.
 
virtual su2double GetDensity_Energy_Inf (void) const
 A virtual member.
 
virtual su2double GetPressure_Inf (void) const
 A virtual member.
 
virtual su2double GetVelocity_Inf (unsigned short val_dim) const
 A virtual member.
 
virtual su2double * GetVelocity_Inf (void)
 A virtual member.
 
virtual su2double GetViscosity_Inf (void) const
 A virtual member.
 
virtual su2double GetNuTilde_Inf (void) const
 A virtual member.
 
virtual su2double GetTke_Inf (void) const
 A virtual member.
 
virtual su2double GetOmega_Inf (void) const
 A virtual member.
 
virtual su2double GetIntermittency_Inf () const
 Get value of the Intermittency.
 
virtual su2double GetReThetaT_Inf () const
 Get value of the momentum thickness Reynolds number.
 
virtual su2double GetTotal_Sens_E (unsigned short iVal) const
 A virtual member.
 
virtual su2double GetTotal_Sens_Nu (unsigned short iVal) const
 A virtual member.
 
virtual su2double GetTotal_Sens_Rho (unsigned short iVal) const
 A virtual member.
 
virtual su2double GetTotal_Sens_Rho_DL (unsigned short iVal) const
 A virtual member.
 
virtual su2double GetTotal_Sens_EField (unsigned short iEField) const
 A virtual member.
 
virtual su2double GetTotal_Sens_DVFEA (unsigned short iDVFEA) const
 A virtual member.
 
virtual su2double GetVal_Young (unsigned short iVal) const
 A virtual member.
 
virtual su2double GetVal_Poisson (unsigned short iVal) const
 A virtual member.
 
virtual su2double GetVal_Rho (unsigned short iVal) const
 A virtual member.
 
virtual su2double GetVal_Rho_DL (unsigned short iVal) const
 A virtual member.
 
virtual unsigned short GetnEField (void) const
 A virtual member.
 
virtual unsigned short GetnDVFEA (void) const
 A virtual member.
 
virtual su2double GetVal_EField (unsigned short iVal) const
 A virtual member.
 
virtual su2double GetVal_DVFEA (unsigned short iVal) const
 A virtual member.
 
virtual su2double GetCSensitivity (unsigned short val_marker, unsigned long val_vertex) const
 A virtual member.
 
virtual const su2double * GetConstants () const
 A virtual member.
 
void BasicLoadRestart (CGeometry *geometry, const CConfig *config, const string &filename, unsigned long skipVars)
 Loads the solution from the restart file.
 
void Read_SU2_Restart_ASCII (CGeometry *geometry, const CConfig *config, string val_filename)
 Read a native SU2 restart file in ASCII format.
 
void Read_SU2_Restart_Binary (CGeometry *geometry, const CConfig *config, string val_filename)
 Read a native SU2 restart file in binary format.
 
void Read_SU2_Restart_Metadata (CGeometry *geometry, CConfig *config, bool adjoint_run, const string &val_filename) const
 Read the metadata from a native SU2 restart file (ASCII or binary).
 
void LoadInletProfile (CGeometry **geometry, CSolver ***solver, CConfig *config, int val_iter, unsigned short val_kind_solver, unsigned short val_kind_marker) const
 Load a inlet profile data from file into a particular solver.
 
virtual void LoadRestart_FSI (CGeometry *geometry, CConfig *config, int val_iter)
 A virtual member.
 
virtual void Set_DV_Val (su2double val_EField, unsigned short i_DV)
 A virtual member.
 
virtual su2double Get_DV_Val (unsigned short i_DV) const
 A virtual member.
 
void GaussElimination (su2double **A, su2double *rhs, unsigned short nVar)
 Gauss method for solving a linear system.
 
void Aeroelastic (CSurfaceMovement *surface_movement, CGeometry *geometry, CConfig *config, unsigned long TimeIter)
 Prepares and solves the aeroelastic equations.
 
void SetUpTypicalSectionWingModel (vector< vector< su2double > > &PHI, vector< su2double > &w, CConfig *config)
 Sets up the generalized eigenvectors and eigenvalues needed to solve the aeroelastic equations.
 
void SolveTypicalSectionWingModel (CGeometry *geometry, su2double Cl, su2double Cm, CConfig *config, unsigned short val_Marker, vector< su2double > &displacements)
 Solve the typical section wing model.
 
virtual void RegisterSolution (CGeometry *geometry_container, CConfig *config)
 A virtual member.
 
virtual void RegisterOutput (CGeometry *geometry_container, CConfig *config)
 A virtual member.
 
virtual void SetAdjoint_Output (CGeometry *geometry, CConfig *config)
 A virtual member.
 
virtual void ExtractAdjoint_Solution (CGeometry *geometry, CConfig *config, bool CrossTerm)
 A virtual member.
 
virtual unsigned long RegisterSolutionExtra (bool input, const CConfig *config)
 Register In- or Output.
 
virtual void SetAdjoint_SolutionExtra (const su2activevector &adj_sol, const CConfig *config)
 Seed the adjoint of the extra solution at the output.
 
virtual void ExtractAdjoint_SolutionExtra (su2activevector &adj_sol, const CConfig *config)
 Extract the adjoint of the extra solution at the input.
 
virtual void SetSurface_Sensitivity (CGeometry *geometry, CConfig *config)
 A virtual member.
 
virtual void SetSensitivity (CGeometry *geometry, CConfig *config, CSolver *target_solver=nullptr)
 A virtual member. Extract and set the geometrical sensitivity.
 
virtual void SetVolumetricHeatSource (CGeometry *geometry, CConfig *config)
 A virtual member. Set the volumetric heat source.
 
virtual void SetPressure_Inf (su2double p_inf)
 A virtual member.
 
virtual void SetTemperature_Inf (su2double t_inf)
 A virtual member.
 
virtual void SetDensity_Inf (su2double rho_inf)
 A virtual member.
 
virtual void SetVelocity_Inf (unsigned short val_dim, su2double val_velocity)
 A virtual member.
 
virtual void SetRecording (CGeometry *geometry, CConfig *config)
 A virtual member.
 
virtual void SetFreeStream_Solution (const CConfig *config)
 A virtual member.
 
virtual su2double * GetVecSolDOFs (void)
 A virtual member.
 
virtual unsigned long GetnDOFsGlobal (void) const
 A virtual member.
 
virtual void InitTurboContainers (CGeometry *geometry, CConfig **config, unsigned short iZone)
 A virtual member.
 
virtual vector< su2double > GetTurboPrimitive (unsigned short iBlade, unsigned short iSpan, bool Inlet)
 Get Primal variables for turbo performance computation iteration can be executed by multiple threads.
 
virtual void PreprocessAverage (CSolver **solver, CGeometry *geometry, CConfig *config, unsigned short marker_flag)
 virtual member.
 
virtual void TurboAverageProcess (CSolver **solver, CGeometry *geometry, CConfig *config, unsigned short marker_flag)
 virtual member.
 
virtual void GatherInOutAverageValues (CConfig *config, CGeometry *geometry)
 virtual member.
 
virtual void ComputeTurboBladePerformance (CGeometry *geometry, CConfig *config, unsigned short iBlade)
 
virtual su2double GetAverageDensity (unsigned short valMarker, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetAverageMassFlowRate (unsigned short valMarker) const
 virtual member
 
virtual su2double GetAveragePressure (unsigned short valMarker, unsigned short valSpan) const
 A virtual member.
 
virtual const su2double * GetAverageTurboVelocity (unsigned short valMarker, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetAverageNu (unsigned short valMarker, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetAverageKine (unsigned short valMarker, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetAverageOmega (unsigned short valMarker, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetDensityIn (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetPressureIn (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual const su2double * GetTurboVelocityIn (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetDensityOut (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetPressureOut (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual const su2double * GetTurboVelocityOut (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetKineIn (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetOmegaIn (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetNuIn (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetKineOut (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetOmegaOut (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual su2double GetNuOut (unsigned short inMarkerTP, unsigned short valSpan) const
 A virtual member.
 
virtual void SetDensityIn (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetPressureIn (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetTurboVelocityIn (const su2double *value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetDensityOut (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetPressureOut (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetTurboVelocityOut (const su2double *value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetKineIn (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetOmegaIn (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetNuIn (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetKineOut (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetOmegaOut (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetNuOut (su2double value, unsigned short inMarkerTP, unsigned short valSpan)
 A virtual member.
 
virtual void SetFreeStream_TurboSolution (CConfig *config)
 A virtual member.
 
virtual void DeformMesh (CGeometry **geometry, CNumerics **numerics, CConfig *config)
 A virtual member.
 
virtual void DeformMesh (CGeometry *geometry, CNumerics **numerics, CConfig *config)
 A virtual member.
 
virtual void SetMesh_Stiffness (CNumerics **numerics, CConfig *config)
 A virtual member.
 
virtual void ApplyGradientSmoothingVolume (CGeometry *geometry, CNumerics *numerics, const CConfig *config)
 A virtual member.
 
virtual void ApplyGradientSmoothingSurface (CGeometry *geometry, CNumerics *numerics, const CConfig *config)
 A virtual member.
 
virtual void ApplyGradientSmoothingDV (CGeometry *geometry, CNumerics *numerics, CSurfaceMovement *surface_movement, CVolumetricMovement *grid_movement, CConfig *config, su2double **Gradient)
 All steps required for smoothing the whole system on DV level in an iterative way.
 
virtual void RecordTapeAndCalculateOriginalGradient (CGeometry *geometry, CSurfaceMovement *surface_movement, CVolumetricMovement *grid_movement, CConfig *config, su2double **Gradient)
 A virtual member.
 
virtual void ReadSensFromGeometry (const CGeometry *geometry)
 A virtual member.
 
virtual void WriteSensToGeometry (CGeometry *geometry) const
 A virtual member.
 
void SetImplicitPeriodic (bool val_implicit_periodic)
 Routine that sets the flag controlling implicit treatment for periodic BCs.
 
void SetRotatePeriodic (bool val_rotate_periodic)
 Routine that sets the flag controlling solution rotation for periodic BCs.
 
su2activematrix * GetPeriodicProjections (const CGeometry &geometry, const CConfig &config)
 Storage for the limiters with rotational periodicity: the min and max, over the edges of the periodic matches of each point, of the reconstruction increments (communicated with PERIODIC_LIM_PRIM_1).
 
su2double * GetPeriodicProjection (unsigned long iPoint)
 Reconstruction increment bounds for a periodic receive point, nullptr for other points.
 
const string & GetSolverName () const
 Retrieve the solver name for output purposes.
 
vector< string > GetSolutionFields () const
 Get the solution fields.
 
virtual void ComputeVerificationError (CGeometry *geometry, CConfig *config)
 A virtual member.
 
void ComputeVertexTractions (CGeometry *geometry, const CConfig *config)
 Compute the tractions at the vertices.
 
su2double GetVertexTractions (unsigned short iMarker, unsigned long iVertex, unsigned short iDim) const
 Set the adjoints of the vertex tractions.
 
void RegisterVertexTractions (CGeometry *geometry, const CConfig *config)
 Register the vertex tractions as output.
 
void StoreVertexTractionsAdjoint (unsigned short iMarker, unsigned long iVertex, unsigned short iDim, su2double val_adjoint)
 Store the adjoints of the vertex tractions.
 
void SetVertexTractionsAdjoint (CGeometry *geometry, const CConfig *config)
 Set the adjoints of the vertex tractions to the AD structure.
 
virtual su2double GetMinimum_Volume () const
 Get minimun volume in the mesh.
 
virtual su2double GetMaximum_Volume () const
 Get maximum volume in the mesh.
 
virtual bool GetHasHybridParallel () const
 Whether the methods of the solver called by multi/single-grid iteration can be executed by multiple threads.
 
virtual StreamwisePeriodicValues GetStreamwisePeriodicValues () const
 Get values for streamwise periodic flow: delta P, m_dot, inlet T, integrated heat, etc.
 
virtual void SetMomCoeff (CGeometry *geometry, CSolver **solver_container, CConfig *config, bool periodic, unsigned short iMesh)
 A virtual member.
 
virtual void ComputeHbyA (CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh)
 A virtual member.
 
void SavelibROM (CGeometry *geometry, CConfig *config, bool converged)
 Save snapshot or POD data using libROM.
 
void CustomSourceResidual (CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container, CConfig *config, unsigned short iMesh)
 

Protected Member Functions

CVariable * GetBaseClassPointerToNodes () override
 Return nodes to allow CSolver::base_nodes to be set.
 
void HybridParallelInitialization (CGeometry *geometry)
 Actions required to initialize the supporting variables for hybrid parallel execution.
 
void Set_ElementProperties (CGeometry *geometry, CConfig *config)
 Set container of element properties.
 
void Set_ReferenceGeometry (CGeometry *geometry, CConfig *config)
 Set a reference geometry for .
 
void Set_Prestretch (CGeometry *geometry, CConfig *config)
 Set a reference geometry for prestretched conditions.
 
void Set_VertexEliminationSchedule (CGeometry *geometry, const vector< unsigned short > &markers)
 Mitigation for an issue with Dirichlet boundary conditions and MPI, some ranks do not get enough of the markers to cover their halo points. This breaks the symmetry of the global matrix as columns are not fully eliminated.
 
void Compute_IntegrationConstants (const CConfig *config)
 Compute constants for time integration.
 
void OutputForwardModeGradient (const CConfig *config, bool newFile, su2double fun, su2double fun_avg, su2double der, su2double der_avg) const
 Write the forward mode gradient to file.
 
void Compute_OFRefGeom (CGeometry *geometry, const CConfig *config)
 Compute the objective function for a reference geometry.
 
void Compute_OFRefNode (CGeometry *geometry, const CConfig *config)
 Compute the objective function for a reference node.
 
void Compute_OFVolFrac (CGeometry *geometry, const CConfig *config)
 Compute the objective function for a volume fraction.
 
void Compute_OFCompliance (CGeometry *geometry, const CConfig *config)
 Compute the compliance objective function.
 
- Protected Member Functions inherited from CSolver
void SetBaseClassPointerToNodes ()
 Call this method to set "base_nodes" after the "nodes" variable of the derived solver is instantiated.
 
void SetUndivided_Laplacian (CGeometry *geometry, const CConfig *config)
 Compute the undivided laplacian for the solution variables.
 
void SetVerificationSolution (unsigned short nDim, unsigned short nVar, CConfig *config)
 Allocate the memory for the verification solution, if necessary.
 
void ResidualReductions_FromAllThreads (const CGeometry *geometry, const CConfig *config, const su2double *resRMS, const su2double *resMax, const unsigned long *idxMax)
 "Add" local residual variables of all threads to compute global residual variables.
 
void SetResToZero ()
 Set the RMS and MAX residual to zero.
 
void AddRes_Max (unsigned short val_var, su2double val_residual, unsigned long val_point, const su2double *val_coord)
 Adds the maximal residual, this is useful for the convergence history.
 
void AddRes_Max_BGS (unsigned short val_var, su2double val_residual, unsigned long val_point, const su2double *val_coord)
 Adds the maximal residual for BGS subiterations.
 

Static Protected Member Functions

static void GetElemKindAndNumNodes (unsigned short VTK_Type, int &EL_KIND, unsigned short &nNodes)
 Get the element container index and number of nodes of a given VTK type.
 
- Static Protected Member Functions inherited from CSolver
static void ResidualReductions_PerThread (unsigned long iPoint, unsigned short iVar, su2double res, su2double *resRMS, su2double *resMax, unsigned long *idxMax)
 "Add" residual at (iPoint,iVar) to residual variables local to the thread.
 

Protected Attributes

unsigned long omp_chunk_size
 Chunk size used in light point loops.
 
su2double Total_CFEA
 Total FEA coefficient for all the boundaries.
 
unsigned short * iElem_iDe = nullptr
 For DE cases, ID of the region considered for each iElem.
 
su2double a_dt [9]
 Time integration constants.
 
su2double Conv_Check [3]
 Current values for convergence check: UTOL, RTOL, ETOL.
 
su2double FSI_Conv [2]
 Values to check the convergence of the FSI problem.
 
unsigned long idxIncrement = 0
 Index of the current load increment.
 
su2double loadIncrement = 1.0
 Coefficient that determines the amount of load which is applied.
 
su2double WAitken_Dyn
 Aitken's dynamic coefficient.
 
su2double WAitken_Dyn_tn1
 Aitken's dynamic coefficient in the previous iteration.
 
su2double PenaltyValue
 Penalty value to maintain total stiffness constant.
 
su2double Total_OFRefGeom
 Total Objective Function: Reference Geometry.
 
su2double Total_OFRefNode
 Total Objective Function: Reference Node.
 
su2double Total_OFVolFrac
 Total Objective Function: Volume fraction (topology optimization).
 
su2double Total_OFDiscreteness
 Total Objective Function: Discreteness (topology optimization).
 
su2double Total_OFCompliance
 Total Objective Function: Compliance (topology optimization).
 
su2double Total_OFStressPenalty
 Total Objective Function: Stress penalty.
 
su2double Global_OFRefGeom
 Global Objective Function (added over time steps): Reference Geometry.
 
su2double Global_OFRefNode
 Global Objective Function (added over time steps): Reference Node.
 
su2double Total_ForwardGradient
 Vector of the total forward gradient.
 
su2double ForceCoeff
 Load transfer coefficient .
 
su2double RelaxCoeff
 Relaxation coefficient .
 
su2double FSI_Residual
 FSI residual.
 
CSysVector< su2double > TimeRes_Aux
 Auxiliary vector for adding mass and damping contributions to the residual.
 
CSysVector< su2double > TimeRes
 Vector for adding mass and damping contributions to the residual.
 
CSysVector< su2double > LinSysReact
 Vector to store the residual before applying the BCs.
 
CSysMatrix< su2mixedfloat > MassMatrix
 Sparse structure for storing the mass matrix.
 
CProperty ** element_properties = nullptr
 Vector which stores the properties of each element.
 
array< DummyGridColor<>, 1 > ElemColoring
 
DummyVectorOfLocks UpdateLocks
 
bool element_based
 Bool to determine if an element-based file is used.
 
bool topol_filter_applied
 True if density filtering has been performed.
 
bool initial_calc = true
 Becomes false after first call to Preprocessing.
 
bool body_forces = false
 Whether any body force is active.
 
const CVariable * heat_nodes = nullptr
 Pointer to the heat solver nodes to access temperature for coupled simulations.
 
CVariable * nodes = nullptr
 The highest level in the variable hierarchy this solver can safely use, CVariable is the common denominator between the FEA and Mesh deformation variables.
 
- Protected Attributes inherited from CFEASolverBase
CElement *** element_container = nullptr
 Vector which the define the finite element structure for each problem.
 
unsigned long nElement
 Number of elements.
 
vector< unsigned long > ExtraVerticesToEliminate
 
- Protected Attributes inherited from CSolver
int rank
 MPI Rank.
 
int size
 MPI Size.
 
bool adjoint
 Boolean to determine whether solver is initialized as a direct or an adjoint solver.
 
unsigned short MGLevel
 Multigrid level of this solver object.
 
unsigned short IterLinSolver
 Linear solver iterations.
 
su2double ResLinSolver
 Final linear solver residual.
 
unsigned short NonLinRes_Counter
 Number of elements of the nonlinear residual indicator series.
 
vector< su2double > NonLinRes_Series
 Vector holding the nonlinear residual indicator series.
 
su2double Old_Func
 Old value of the nonlinear residual indicator.
 
su2double New_Func
 Current value of the nonlinear residual indicator.
 
unsigned short nVar
 Number of variables of the problem.
 
unsigned short nPrimVar
 Number of primitive variables of the problem.
 
unsigned short nPrimVarGrad
 Number of primitive variables of the problem in the gradient computation.
 
unsigned short nSecondaryVar
 Number of primitive variables of the problem.
 
unsigned short nVarGrad
 Number of variables for deallocating the LS Cvector.
 
unsigned short nDim
 Number of dimensions of the problem.
 
unsigned long nPoint
 Number of points of the computational grid.
 
unsigned long nPointDomain
 Number of points of the computational grid.
 
su2double Max_Delta_Time
 Maximum value of the delta time for all the control volumes.
 
su2double Min_Delta_Time
 Minimum value of the delta time for all the control volumes.
 
su2double Max_CFL_Local
 Maximum value of the CFL across all the control volumes.
 
su2double Min_CFL_Local
 Minimum value of the CFL across all the control volumes.
 
su2double Avg_CFL_Local
 Average value of the CFL across all the control volumes.
 
vector< su2double > Residual_RMS
 Vector with the mean residual for each variable.
 
vector< su2double > Residual_Max
 Vector with the maximal residual for each variable.
 
vector< su2double > Residual_BGS
 Vector with the mean residual for each variable for BGS subiterations.
 
vector< su2double > Residual_Max_BGS
 Vector with the maximal residual for each variable for BGS subiterations.
 
vector< unsigned long > Point_Max
 Vector with the maximal residual for each variable.
 
vector< unsigned long > Point_Max_BGS
 Vector with the maximal residual for each variable.
 
su2activematrix Point_Max_Coord
 Vector with pointers to the coords of the maximal residual for each variable.
 
su2activematrix Point_Max_Coord_BGS
 Vector with pointers to the coords of the maximal residual for each variable.
 
su2double Total_Custom_ObjFunc = 0.0
 Total custom objective function.
 
su2double Total_ComboObj = 0.0
 Total 'combo' objective for all monitored boundaries.
 
su2double * Residual
 Auxiliary nVar vector.
 
su2double * Residual_i
 Auxiliary nVar vector for storing the residual at point i.
 
su2double * Residual_j
 Auxiliary nVar vector for storing the residual at point j.
 
su2double * Solution
 Auxiliary nVar vector.
 
su2double * Solution_i
 Auxiliary nVar vector for storing the solution at point i.
 
su2double * Solution_j
 Auxiliary nVar vector for storing the solution at point j.
 
su2double * Vector
 Auxiliary nDim vector.
 
su2double * Vector_i
 Auxiliary nDim vector to do the reconstruction of the variables at point i.
 
su2double * Vector_j
 Auxiliary nDim vector to do the reconstruction of the variables at point j.
 
su2double * Res_Conv
 Auxiliary nVar vector for storing the convective residual.
 
su2double * Res_Visc
 Auxiliary nVar vector for storing the viscous residual.
 
su2double * Res_Sour
 Auxiliary nVar vector for storing the viscous residual.
 
su2double * Res_Conv_i
 Auxiliary vector for storing the convective residual at point i.
 
su2double * Res_Visc_i
 Auxiliary vector for storing the viscous residual at point i.
 
su2double * Res_Conv_j
 Auxiliary vector for storing the convective residual at point j.
 
su2double * Res_Visc_j
 Auxiliary vector for storing the viscous residual at point j.
 
su2double ** Jacobian_i
 Auxiliary matrices for storing point to point Jacobians at point i.
 
su2double ** Jacobian_j
 Auxiliary matrices for storing point to point Jacobians at point j.
 
su2double ** Jacobian_ii
 Auxiliary matrices for storing point to point Jacobians.
 
su2double ** Jacobian_ij
 Auxiliary matrices for storing point to point Jacobians.
 
su2double ** Jacobian_ji
 Auxiliary matrices for storing point to point Jacobians.
 
su2double ** Jacobian_jj
 Auxiliary matrices for storing point to point Jacobians.
 
su2activevector iPoint_UndLapl
 Auxiliary variable for the undivided Laplacians.
 
su2activevector jPoint_UndLapl
 Auxiliary variable for the undivided Laplacians.
 
vector< int > Restart_Vars
 Auxiliary structure for holding the number of variables and points in a restart.
 
int Restart_ExtIter
 Auxiliary structure for holding the external iteration offset from a restart.
 
vector< passivedouble > Restart_Data
 Auxiliary structure for holding the data values from a restart.
 
unsigned short nOutputVariables
 Number of variables to write.
 
unsigned long nMarker
 Total number of markers using the grid information.
 
vector< unsigned long > nVertex
 Store nVertex at each marker for deallocation.
 
bool rotate_periodic
 Flag that controls whether the periodic solution needs to be rotated for the solver.
 
bool implicit_periodic
 Flag that controls whether the implicit system should be treated by the periodic BC comms.
 
su2activematrix PeriodicProj
 Min/max reconstruction increments at periodic receive points (for limiters).
 
std::unordered_map< unsigned long, size_t > PeriodicProjIndex
 Local point to compact projection row.
 
bool dynamic_grid
 Flag that determines whether the grid is dynamic (moving or deforming + grid velocities).
 
vector< su2activematrix > VertexTraction
 
vector< su2activematrix > VertexTractionAdjoint
 
std::shared_ptr< CTurboOutput > TurbomachineryPerformance
 turbo performance calculator.
 
string SolverName
 Store the name of the solver for output purposes.
 

Static Protected Attributes

static constexpr bool LockStrategy = false
 

Additional Inherited Members

- Public Types inherited from CFEASolverBase
enum  : size_t { MAXNNODE_2D = 4 }
 
enum  : size_t { MAXNNODE_3D = 8 }
 
enum  : size_t { MAXNDIM = 3 }
 
enum  : size_t { MAXNVAR = 3 }
 
enum  : size_t { OMP_MIN_SIZE = 32 }
 
enum  : size_t { OMP_MAX_SIZE = 512 }
 
- Static Public Member Functions inherited from CSolver
static void MultigridRestriction (const CGeometry &geoFine, const su2activematrix &varsFine, const CGeometry &geoCoarse, su2activematrix &varsCoarse)
 Interpolate variables to a coarser grid level.
 
- Public Attributes inherited from CSolver
CSysVector< su2double > LinSysSol
 vector to store iterative solution of implicit linear system.
 
CSysVector< su2double > LinSysRes
 vector to store iterative residual of implicit linear system.
 
CSysMatrix< su2mixedfloat > Jacobian
 Complete sparse Jacobian structure for implicit computations.
 
CSysSolve< su2mixedfloat > System
 Linear solver/smoother.
 
CSysVector< su2double > OutputVariables
 vector to store the extra variables to be written.
 
string * OutputHeadingNames
 vector of strings to store the headings for the exra variables
 
CVerificationSolution * VerificationSolution
 Verification solution class used within the solver.
 
vector< string > fields
 
- Protected Types inherited from CSolver
enum  : size_t { OMP_MIN_SIZE = 32 }
 

Detailed Description

Main class for defining a FEM solver for elastic structural problems.

Author
R. Sanchez.

Constructor & Destructor Documentation

◆ CFEASolver() [1/2]

CFEASolver::CFEASolver ( LINEAR_SOLVER_MODE  mesh_deform_mode = LINEAR_SOLVER_MODE::STANDARD)

Constructor of the class.

◆ CFEASolver() [2/2]

CFEASolver::CFEASolver ( CGeometry *  geometry,
CConfig *  config 
)

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

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.

◆ ~CFEASolver()

CFEASolver::~CFEASolver ( void  )
override

Destructor of the class.

Member Function Documentation

◆ BC_Clamped()

void CFEASolver::BC_Clamped ( CGeometry *  geometry,
const CConfig *  config,
unsigned short  val_marker 
)
finalvirtual

Clamped boundary conditions.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.
[in]val_marker- Surface marker where the boundary condition is applied.

Reimplemented from CSolver.

◆ BC_Clamped_Post()

void CFEASolver::BC_Clamped_Post ( CGeometry *  geometry,
const CConfig *  config,
unsigned short  val_marker 
)
finalvirtual

Enforce the solution to be 0 in the clamped nodes - Avoids accumulation of numerical error.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.
[in]val_marker- Surface marker where the boundary condition is applied.

Reimplemented from CSolver.

◆ BC_Damper()

void CFEASolver::BC_Damper ( CGeometry *  geometry,
const CConfig *  config,
unsigned short  val_marker 
)
finalvirtual

Impose a damping load.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.
[in]val_marker- Surface marker where the boundary condition is applied.

Reimplemented from CSolver.

◆ BC_Dir_Load()

void CFEASolver::BC_Dir_Load ( CGeometry *  geometry,
const CConfig *  config,
unsigned short  val_marker 
)
finalvirtual

Impose a load boundary condition in cartesian coordinates.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.
[in]val_marker- Surface marker where the boundary condition is applied.

Reimplemented from CSolver.

◆ BC_DispDir()

void CFEASolver::BC_DispDir ( CGeometry *  geometry,
const CConfig *  config,
unsigned short  val_marker 
)
finalvirtual

A virtual member.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.
[in]val_marker- Surface marker where the boundary condition is applied.

Reimplemented from CSolver.

◆ BC_Normal_Load()

void CFEASolver::BC_Normal_Load ( CGeometry *  geometry,
const CConfig *  config,
unsigned short  val_marker 
)
finalvirtual

Impose a load boundary condition normal to the boundary.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]numerics- Description of the numerical method.
[in]config- Definition of the particular problem.
[in]val_marker- Surface marker where the boundary condition is applied.

Reimplemented from CSolver.

◆ BC_Sine_Load()

void CFEASolver::BC_Sine_Load ( CGeometry *  geometry,
const CConfig *  config,
unsigned short  val_marker 
)
inlinefinalvirtual

Impose a sine-wave load boundary condition in cartesian coordinates.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.
[in]val_marker- Surface marker where the boundary condition is applied.

Reimplemented from CSolver.

◆ BC_Sym_Plane()

void CFEASolver::BC_Sym_Plane ( CGeometry *  geometry,
const CConfig *  config,
unsigned short  val_marker 
)
finalvirtual

Symmetry boundary conditions.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.
[in]val_marker- Surface marker where the boundary condition is applied.

Reimplemented from CSolver.

◆ Compute_BodyForces()

void CFEASolver::Compute_BodyForces ( CGeometry *  geometry,
CNumerics **  numerics,
const CConfig *  config 
)
finalvirtual

Compute the inertial loads.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]numerics- Description of the numerical method.
[in]config- Definition of the particular problem.

Reimplemented from CSolver.

◆ Compute_IntegrationConstants()

void CFEASolver::Compute_IntegrationConstants ( const CConfig *  config)
protected

Compute constants for time integration.

Parameters
[in]config- Definition of the particular problem.

◆ Compute_LoadCoefficient()

su2double CFEASolver::Compute_LoadCoefficient ( su2double  CurrentTime,
su2double  RampTime,
const CConfig *  config 
)
finalvirtual

Get multiplier for loads.

Parameters
[in]CurrentTime- Current time step.
[in]config- Definition of the particular problem.

Reimplemented from CSolver.

◆ Compute_MassMatrix()

void CFEASolver::Compute_MassMatrix ( const CGeometry *  geometry,
CNumerics **  numerics,
const CConfig *  config 
)
finalvirtual

Compute the mass matrix of the problem.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]numerics- Description of the numerical method.
[in]config- Definition of the particular problem.

Reimplemented from CSolver.

◆ Compute_MassRes()

void CFEASolver::Compute_MassRes ( const CGeometry *  geometry,
CNumerics **  numerics,
const CConfig *  config 
)
finalvirtual

Compute the mass residual of the problem.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]numerics- Description of the numerical method.
[in]config- Definition of the particular problem.

Reimplemented from CSolver.

◆ Compute_NodalStress()

void CFEASolver::Compute_NodalStress ( CGeometry *  geometry,
CNumerics **  numerics,
const CConfig *  config 
)

Compute the stress at the nodes for output purposes.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]numerics- Description of the numerical method.
[in]config- Definition of the particular problem.

◆ Compute_NodalStressRes()

void CFEASolver::Compute_NodalStressRes ( CGeometry *  geometry,
CNumerics **  numerics,
const CConfig *  config 
)
finalvirtual

Compute the nodal stress terms and add them to the residual.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]numerics- Description of the numerical method.
[in]config- Definition of the particular problem.

Reimplemented from CSolver.

◆ Compute_OFCompliance()

void CFEASolver::Compute_OFCompliance ( CGeometry *  geometry,
const CConfig *  config 
)
protected

Compute the compliance objective function.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.

◆ Compute_OFRefGeom()

void CFEASolver::Compute_OFRefGeom ( CGeometry *  geometry,
const CConfig *  config 
)
protected

Compute the objective function for a reference geometry.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.

TODO: Temporary output files for the direct mode.

◆ Compute_OFRefNode()

void CFEASolver::Compute_OFRefNode ( CGeometry *  geometry,
const CConfig *  config 
)
protected

Compute the objective function for a reference node.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.

TODO: Temporary output files for the direct mode.

◆ Compute_OFVolFrac()

void CFEASolver::Compute_OFVolFrac ( CGeometry *  geometry,
const CConfig *  config 
)
protected

Compute the objective function for a volume fraction.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.

◆ Compute_StiffMatrix()

void CFEASolver::Compute_StiffMatrix ( CGeometry *  geometry,
CNumerics **  numerics,
const CConfig *  config 
)
finalvirtual

Compute the stiffness matrix of the problem.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]numerics- Description of the numerical method.
[in]config- Definition of the particular problem.

Reimplemented from CSolver.

◆ Compute_StiffMatrix_NodalStressRes()

void CFEASolver::Compute_StiffMatrix_NodalStressRes ( CGeometry *  geometry,
CNumerics **  numerics,
const CConfig *  config 
)
finalvirtual

Compute the stiffness matrix of the problem and the nodal stress terms at the same time.

Note
This is more efficient for full Newton Raphson.
Parameters
[in]geometry- Geometrical definition of the problem.
[in]numerics- Description of the numerical method.
[in]config- Definition of the particular problem.

Reimplemented from CSolver.

◆ ComputeAitken_Coefficient()

void CFEASolver::ComputeAitken_Coefficient ( CGeometry *  geometry,
const CConfig *  config,
unsigned long  iOuterIter 
)
finalvirtual

Computation of Aitken's coefficient.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.
[in]iOuterIter- Current outer iteration.

Reimplemented from CSolver.

◆ Evaluate_ObjFunc()

void CFEASolver::Evaluate_ObjFunc ( const CConfig *  config,
CSolver **  solver 
)
inlinefinalvirtual

Compute the objective function.

Parameters
[in]config- Definition of the problem.
[in]solver- Container vector with all the solutions.

Reimplemented from CSolver.

◆ ExtractAdjoint_Variables()

void CFEASolver::ExtractAdjoint_Variables ( CGeometry *  geometry,
CConfig *  config 
)
overridevirtual

A virtual member.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.

Reimplemented from CSolver.

◆ FilterElementDensities()

void CFEASolver::FilterElementDensities ( CGeometry *  geometry,
const CConfig *  config 
)

Filter the density field for topology optimization applications.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.

◆ GeneralizedAlpha_Iteration()

void CFEASolver::GeneralizedAlpha_Iteration ( const CGeometry *  geometry,
CNumerics **  numerics,
const CConfig *  config 
)
finalvirtual

Iterate using an implicit Generalized Alpha solver.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]numerics- Numerical methods.
[in]config- Definition of the particular problem.

Reimplemented from CSolver.

◆ GeneralizedAlpha_UpdateDisp()

void CFEASolver::GeneralizedAlpha_UpdateDisp ( const CGeometry *  geometry,
const CConfig *  config 
)
finalvirtual

Update the solution using an implicit Generalized Alpha solver.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.

Reimplemented from CSolver.

◆ GeneralizedAlpha_UpdateLoads()

void CFEASolver::GeneralizedAlpha_UpdateLoads ( const CGeometry *  geometry,
const CConfig *  config 
)
finalvirtual

Update the solution using an implicit Generalized Alpha solver.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.

Reimplemented from CSolver.

◆ GeneralizedAlpha_UpdateSolution()

void CFEASolver::GeneralizedAlpha_UpdateSolution ( const CGeometry *  geometry,
const CConfig *  config 
)
finalvirtual

Update the solution using an implicit Generalized Alpha solver.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.

Reimplemented from CSolver.

◆ Get_iElem_iDe()

unsigned short CFEASolver::Get_iElem_iDe ( unsigned long  iElem) const
inlinefinalvirtual

Retrieve the iDe index for DE computations.

Parameters
[in]iElem- element parameter.
[out]iElem_iDe- ID of the Dielectric Elastomer region.

Reimplemented from CSolver.

◆ Get_ValCoord()

virtual su2double CFEASolver::Get_ValCoord ( const CGeometry *  geometry,
unsigned long  indexNode,
unsigned short  iDim 
) const
inlinevirtual

Get the value of the reference coordinate to set on the element structure.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]indexNode- Index of the node.
[in]iDim- Dimension required.

Reimplemented in CMeshSolver.

◆ GetBaseClassPointerToNodes()

CVariable * CFEASolver::GetBaseClassPointerToNodes ( )
inlineoverrideprotectedvirtual

Return nodes to allow CSolver::base_nodes to be set.

Implements CSolver.

◆ GetElemKindAndNumNodes()

static void CFEASolver::GetElemKindAndNumNodes ( unsigned short  VTK_Type,
int &  EL_KIND,
unsigned short &  nNodes 
)
inlinestaticprotected

Get the element container index and number of nodes of a given VTK type.

Parameters
[in]VTK_Type- Type of element.
[out]EL_KIND- Element container index.
[out]nNodes- Number of nodes.

◆ GetForceCoeff()

su2double CFEASolver::GetForceCoeff ( void  ) const
inlinefinalvirtual

Get the value of the force coefficient history for the history file.

Parameters
[out]val_forcecoeff_history- Value of the force coefficient.

Reimplemented from CSolver.

◆ GetFSI_ConvValue()

su2double CFEASolver::GetFSI_ConvValue ( unsigned short  val_index) const
inlinefinalvirtual

Get the value of the FSI convergence.

Parameters
[in]Valueof interest: 0 - Initial value, 1 - Current value.
Returns
Values to compare

Reimplemented from CSolver.

◆ GetFSI_Residual()

su2double CFEASolver::GetFSI_Residual ( void  ) const
inlinefinalvirtual

Get the value of the FSI residual for the history file.

Parameters
[out]val_FSI_residual- Value of the residual.

Reimplemented from CSolver.

◆ GetLoad_Increment()

su2double CFEASolver::GetLoad_Increment ( void  ) const
inlinefinalvirtual

Get the value of the load increment for nonlinear structural analysis.

Parameters
[in]Valueof the coefficient

Reimplemented from CSolver.

◆ GetRelaxCoeff()

su2double CFEASolver::GetRelaxCoeff ( void  ) const
inlinefinalvirtual

Get the value of the relaxation coefficient history for the history file.

Parameters
[out]val_relaxcoeff_history- Value of the relaxation coefficient.

Reimplemented from CSolver.

◆ GetRes_FEM()

su2double CFEASolver::GetRes_FEM ( unsigned short  val_var) const
inlinefinalvirtual

Get the residual for FEM structural analysis.

Parameters
[in]val_var- Index of the variable.
Returns
Value of the residual for the variable in the position val_var.

Reimplemented from CSolver.

◆ GetTotal_CFEA()

su2double CFEASolver::GetTotal_CFEA ( void  ) const
inlinefinalvirtual

Provide the maximum Von Mises Stress for structural analysis.

Reimplemented from CSolver.

◆ GetTotal_OFCompliance()

su2double CFEASolver::GetTotal_OFCompliance ( void  ) const
inlinefinalvirtual

Retrieve the value of the structural compliance objective function.

Reimplemented from CSolver.

◆ GetTotal_OFDiscreteness()

su2double CFEASolver::GetTotal_OFDiscreteness ( void  ) const
inlinefinalvirtual

Retrieve the value of the discreteness objective function.

Reimplemented from CSolver.

◆ GetTotal_OFRefGeom()

su2double CFEASolver::GetTotal_OFRefGeom ( void  ) const
inlinefinalvirtual

Retrieve the value of the objective function for a reference geometry.

Reimplemented from CSolver.

◆ GetTotal_OFRefNode()

su2double CFEASolver::GetTotal_OFRefNode ( void  ) const
inlinefinalvirtual

Retrieve the value of the objective function for a reference node.

Reimplemented from CSolver.

◆ GetTotal_OFStressPenalty()

su2double CFEASolver::GetTotal_OFStressPenalty ( void  ) const
inlinefinalvirtual

Retrieve the value of the stress penalty objective function.

Reimplemented from CSolver.

◆ GetTotal_OFVolFrac()

su2double CFEASolver::GetTotal_OFVolFrac ( void  ) const
inlinefinalvirtual

Retrieve the value of the volume fraction objective function.

Reimplemented from CSolver.

◆ HybridParallelInitialization()

void CFEASolver::HybridParallelInitialization ( CGeometry *  geometry)
protected

Actions required to initialize the supporting variables for hybrid parallel execution.

Parameters
[in]geometry- Geometrical definition of the problem.

◆ ImplicitNewmark_Iteration()

void CFEASolver::ImplicitNewmark_Iteration ( const CGeometry *  geometry,
CNumerics **  numerics,
const CConfig *  config 
)
finalvirtual

Iterate using an implicit Newmark solver.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]numerics- Numerical methods.
[in]config- Definition of the particular problem.

Reimplemented from CSolver.

◆ ImplicitNewmark_Relaxation()

void CFEASolver::ImplicitNewmark_Relaxation ( const CGeometry *  geometry,
const CConfig *  config 
)
finalvirtual

A virtual member.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.

Reimplemented from CSolver.

◆ ImplicitNewmark_Update()

void CFEASolver::ImplicitNewmark_Update ( const CGeometry *  geometry,
const CConfig *  config 
)
finalvirtual

Update the solution using an implicit Newmark solver.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.

Reimplemented from CSolver.

◆ IsElementBased()

bool CFEASolver::IsElementBased ( void  ) const
inlinefinalvirtual

Determines whether there is an element-based file or not.

Returns
Bool that defines whether the solution has an element-based file or not

Reimplemented from CSolver.

◆ LoadRestart()

void CFEASolver::LoadRestart ( CGeometry **  geometry,
CSolver ***  solver,
CConfig *  config,
int  val_iter,
bool  val_update_geo 
)
overridevirtual

Load a solution from a restart file.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver- Container vector with all of the solvers.
[in]config- Definition of the particular problem.
[in]val_iter- Current external iteration number.
[in]val_update_geo- Flag for updating coords and grid velocity.

Reimplemented from CSolver.

Reimplemented in CMeshSolver.

◆ OutputForwardModeGradient()

void CFEASolver::OutputForwardModeGradient ( const CConfig *  config,
bool  newFile,
su2double  fun,
su2double  fun_avg,
su2double  der,
su2double  der_avg 
) const
protected

Write the forward mode gradient to file.

Parameters
[in]config- Definition of the particular problem.
[in]newFile- If true, start file from scratch, else append values.
[in]fun- Value of the objective function.
[in]fun_avg- Time-averaged value of the objective function.
[in]der- Value of the derivative.
[in]der_avg- Time-averaged value of the derivative.

◆ Postprocessing()

void CFEASolver::Postprocessing ( CGeometry *  geometry,
CConfig *  config,
CNumerics **  numerics,
bool  of_comp_mode 
)
finalvirtual

Postprocessing.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.
[in]numerics- Implementation of numerical method.
[in]of_comp_mode- Mode to compute just the objective function.

Reimplemented from CSolver.

◆ PredictStruct_Displacement()

void CFEASolver::PredictStruct_Displacement ( CGeometry *  geometry,
const CConfig *  config 
)
finalvirtual

Predictor for structural displacements based on previous iterations.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Configuration of the problem.

Reimplemented from CSolver.

◆ Preprocessing()

void CFEASolver::Preprocessing ( CGeometry *  geometry,
CSolver **  solver_container,
CConfig *  config,
CNumerics **  numerics,
unsigned short  iMesh,
unsigned long  Iteration,
unsigned short  RunTime_EqSystem,
bool  Output 
)
overridevirtual

Set residuals to zero.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver_container- Container vector with all the solutions.
[in]config- Definition of the particular problem.
[in]iRKStep- Current step of the Runge-Kutta iteration.
[in]RunTime_EqSystem- System of equations which is going to be solved.

Reimplemented from CSolver.

◆ RegisterVariables()

void CFEASolver::RegisterVariables ( CGeometry *  geometry,
CConfig *  config,
bool  reset 
)
overridevirtual

A virtual member.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.
[in]reset- Not used by this class ATM.

Reimplemented from CSolver.

◆ Set_ElementProperties()

void CFEASolver::Set_ElementProperties ( CGeometry *  geometry,
CConfig *  config 
)
protected

Set container of element properties.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.

◆ Set_Prestretch()

void CFEASolver::Set_Prestretch ( CGeometry *  geometry,
CConfig *  config 
)
protected

Set a reference geometry for prestretched conditions.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.

◆ Set_ReferenceGeometry()

void CFEASolver::Set_ReferenceGeometry ( CGeometry *  geometry,
CConfig *  config 
)
protected

Set a reference geometry for .

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.

◆ Set_VertexEliminationSchedule()

void CFEASolver::Set_VertexEliminationSchedule ( CGeometry *  geometry,
const vector< unsigned short > &  markers 
)
protected

Mitigation for an issue with Dirichlet boundary conditions and MPI, some ranks do not get enough of the markers to cover their halo points. This breaks the symmetry of the global matrix as columns are not fully eliminated.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]markers- List of essential BC markers.

◆ SetAitken_Relaxation()

void CFEASolver::SetAitken_Relaxation ( CGeometry *  geometry,
const CConfig *  config 
)
finalvirtual

Aitken's relaxation of the solution.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]config- Definition of the particular problem.

Reimplemented from CSolver.

◆ SetForceCoeff()

void CFEASolver::SetForceCoeff ( su2double  val_forcecoeff)
inlinefinalvirtual

Set the value of the force coefficient history for the history file.

Parameters
[in]iBGS- Number of BGS iteration.
[in]val_forcecoeff- Value of the force coefficient.

Reimplemented from CSolver.

◆ SetFSI_ConvValue()

void CFEASolver::SetFSI_ConvValue ( unsigned short  val_index,
su2double  val_criteria 
)
inlinefinalvirtual

Get the value of the FSI convergence.

Parameters
[in]Setvalue of interest: 0 - Initial value, 1 - Current value.

Reimplemented from CSolver.

◆ SetFSI_Residual()

void CFEASolver::SetFSI_Residual ( su2double  val_FSI_residual)
inlinefinalvirtual

Set the value of the FSI residual for the history file.

Parameters
[in]iBGS- Number of BGS iteration.
[in]val_FSI_residual- Value of the residual.

Reimplemented from CSolver.

◆ SetInitialCondition()

void CFEASolver::SetInitialCondition ( CGeometry **  geometry,
CSolver ***  solver_container,
CConfig *  config,
unsigned long  TimeIter 
)
overridevirtual

Set the initial condition for the FEM structural problem.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver_container- Container with all the solutions.
[in]config- Definition of the particular problem.
[in]ExtIter- External iteration.

Reimplemented from CSolver.

◆ SetLoad_Increment()

void CFEASolver::SetLoad_Increment ( unsigned long  iInc,
su2double  loadInc 
)
inlinefinalvirtual

Set the value of the load increment for nonlinear structural analysis.

Parameters
[in]Valueof the coefficient

Reimplemented from CSolver.

◆ SetRelaxCoeff()

void CFEASolver::SetRelaxCoeff ( su2double  val_relaxcoeff)
inlinefinalvirtual

Set the value of the FSI relaxation factor.

Parameters
[in]iBGS- Number of BGS iteration.
[in]val_relaxcoeff- Value of the relaxation factor.

Reimplemented from CSolver.

◆ SetTotal_CFEA()

void CFEASolver::SetTotal_CFEA ( su2double  val_cfea)
inlinefinalvirtual

Set the value of the FEA coefficient.

Parameters
[in]val_cfea- Value of the FEA coefficient.

Reimplemented from CSolver.

◆ SetTotal_OFRefGeom()

void CFEASolver::SetTotal_OFRefGeom ( su2double  val_ofrefgeom)
inlinefinalvirtual

Set the value of the objective function for a reference geometry.

Parameters
[in]val_ofrefgeom- Value of the objective function for a reference geometry.

Reimplemented from CSolver.

◆ SetTotal_OFRefNode()

void CFEASolver::SetTotal_OFRefNode ( su2double  val_ofrefnode)
inlinefinalvirtual

Set the value of the objective function for a reference node.

Parameters
[in]val_ofrefnode- Value of the objective function for a reference node.

Reimplemented from CSolver.

◆ SetWAitken_Dyn_tn1()

void CFEASolver::SetWAitken_Dyn_tn1 ( )
inlinefinalvirtual

Store the value of the last Aitken relaxation factor in the current time step.

Reimplemented from CSolver.

◆ Solve_System()

void CFEASolver::Solve_System ( CGeometry *  geometry,
CConfig *  config 
)
finalvirtual

Routine to solve the Jacobian-Residual linearized system.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]solver_container- Container vector with the solutions.
[in]config- Definition of the particular problem.

Reimplemented from CSolver.

◆ Stiffness_Penalty()

void CFEASolver::Stiffness_Penalty ( CGeometry *  geometry,
CNumerics **  numerics_container,
CConfig *  config 
)

Compute the penalty due to the stiffness increase.

Parameters
[in]geometry- Geometrical definition of the problem.
[in]numerics- Description of the numerical method.
[in]config- Definition of the particular problem.

Member Data Documentation

◆ a_dt

su2double CFEASolver::a_dt[9]
protected

Time integration constants.

◆ body_forces

bool CFEASolver::body_forces = false
protected

Whether any body force is active.

◆ Conv_Check

su2double CFEASolver::Conv_Check[3]
protected

Current values for convergence check: UTOL, RTOL, ETOL.

◆ ElemColoring

array<DummyGridColor<>,1> CFEASolver::ElemColoring
protected

◆ element_based

bool CFEASolver::element_based
protected

Bool to determine if an element-based file is used.

◆ element_properties

CProperty** CFEASolver::element_properties = nullptr
protected

Vector which stores the properties of each element.

◆ ForceCoeff

su2double CFEASolver::ForceCoeff
protected

Load transfer coefficient .

◆ FSI_Conv

su2double CFEASolver::FSI_Conv[2]
protected

Values to check the convergence of the FSI problem.

◆ FSI_Residual

su2double CFEASolver::FSI_Residual
protected

FSI residual.

◆ Global_OFRefGeom

su2double CFEASolver::Global_OFRefGeom
protected

Global Objective Function (added over time steps): Reference Geometry.

◆ Global_OFRefNode

su2double CFEASolver::Global_OFRefNode
protected

Global Objective Function (added over time steps): Reference Node.

◆ heat_nodes

const CVariable* CFEASolver::heat_nodes = nullptr
protected

Pointer to the heat solver nodes to access temperature for coupled simulations.

◆ idxIncrement

unsigned long CFEASolver::idxIncrement = 0
protected

Index of the current load increment.

◆ iElem_iDe

unsigned short* CFEASolver::iElem_iDe = nullptr
protected

For DE cases, ID of the region considered for each iElem.

◆ initial_calc

bool CFEASolver::initial_calc = true
protected

Becomes false after first call to Preprocessing.

◆ LinSysReact

CSysVector<su2double> CFEASolver::LinSysReact
protected

Vector to store the residual before applying the BCs.

◆ loadIncrement

su2double CFEASolver::loadIncrement = 1.0
protected

Coefficient that determines the amount of load which is applied.

◆ LockStrategy

constexpr bool CFEASolver::LockStrategy = false
staticconstexprprotected

◆ MassMatrix

CSysMatrix<su2mixedfloat> CFEASolver::MassMatrix
protected

Sparse structure for storing the mass matrix.

◆ nodes

CVariable* CFEASolver::nodes = nullptr
protected

The highest level in the variable hierarchy this solver can safely use, CVariable is the common denominator between the FEA and Mesh deformation variables.

◆ omp_chunk_size

unsigned long CFEASolver::omp_chunk_size
protected

Chunk size used in light point loops.

◆ PenaltyValue

su2double CFEASolver::PenaltyValue
protected

Penalty value to maintain total stiffness constant.

◆ RelaxCoeff

su2double CFEASolver::RelaxCoeff
protected

Relaxation coefficient .

◆ TimeRes

CSysVector<su2double> CFEASolver::TimeRes
protected

Vector for adding mass and damping contributions to the residual.

◆ TimeRes_Aux

CSysVector<su2double> CFEASolver::TimeRes_Aux
protected

Auxiliary vector for adding mass and damping contributions to the residual.

◆ topol_filter_applied

bool CFEASolver::topol_filter_applied
protected

True if density filtering has been performed.

◆ Total_CFEA

su2double CFEASolver::Total_CFEA
protected

Total FEA coefficient for all the boundaries.

◆ Total_ForwardGradient

su2double CFEASolver::Total_ForwardGradient
protected

Vector of the total forward gradient.

◆ Total_OFCompliance

su2double CFEASolver::Total_OFCompliance
protected

Total Objective Function: Compliance (topology optimization).

◆ Total_OFDiscreteness

su2double CFEASolver::Total_OFDiscreteness
protected

Total Objective Function: Discreteness (topology optimization).

◆ Total_OFRefGeom

su2double CFEASolver::Total_OFRefGeom
protected

Total Objective Function: Reference Geometry.

◆ Total_OFRefNode

su2double CFEASolver::Total_OFRefNode
protected

Total Objective Function: Reference Node.

◆ Total_OFStressPenalty

su2double CFEASolver::Total_OFStressPenalty
protected

Total Objective Function: Stress penalty.

◆ Total_OFVolFrac

su2double CFEASolver::Total_OFVolFrac
protected

Total Objective Function: Volume fraction (topology optimization).

◆ UpdateLocks

DummyVectorOfLocks CFEASolver::UpdateLocks
protected

◆ WAitken_Dyn

su2double CFEASolver::WAitken_Dyn
protected

Aitken's dynamic coefficient.

◆ WAitken_Dyn_tn1

su2double CFEASolver::WAitken_Dyn_tn1
protected

Aitken's dynamic coefficient in the previous iteration.


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