update master - #2499
Merged
Merged
Conversation
Write compact restart files
…o coupled_thermoelasticity Add nodal temperature integration in Compute_StiffMatrix
[WIP] Coupled solver for thermoelasticity
Fix Non-dimensionalization to translation velocity
2D DSMA661 Airfoil Near-Wake V&V case
Fix preaccumulation error, improve recording of RANS solvers
Improve the Euler wall Jacobian
Coupled thermoelasticity
Changing version number to 8.2.0
| * \brief Shape function Jacobian (dNi) evaluated at point Xi,Eta. | ||
| */ | ||
| inline static void ShapeFunctionJacobian(su2double Xi, su2double Eta, su2double dNi[][2]) { | ||
| inline static void ShapeFunctionJacobian(const su2double& Xi, const su2double& Eta, su2double dNi[][2]) { |
Check notice
Code scanning / CodeQL
No raw arrays in interfaces
| "of entries (the number of materials).", CURRENT_FUNCTION); | ||
| if (nMaterialThermalExpansion == 0) { | ||
| nMaterialThermalExpansion = 1; | ||
| MaterialThermalExpansion = new su2double[1](); |
Check warning
Code scanning / CodeQL
Resource not released in destructor
Comment on lines
+148
to
+232
| switch (nCornerPoints) { | ||
| case 2: { | ||
| /* Element is a line. Check if the node numbering must be swapped. If so | ||
| also the element information must be swapped, because element 0 is to | ||
| the left of the face and element 1 to the right. */ | ||
| if (cornerPoints[1] < cornerPoints[0]) { | ||
| std::swap(cornerPoints[0], cornerPoints[1]); | ||
| swapElements = true; | ||
| } | ||
| break; | ||
| } | ||
|
|
||
| case 3: { | ||
| /* Element is a triangle. The vertices are sorted in increasing order. | ||
| If the sequence of the new numbering is opposite to the current | ||
| numbering, the element information must be exchanged, because | ||
| element 0 is to the left of the face and element 1 to the right. */ | ||
| unsigned long nn[] = {cornerPoints[0], cornerPoints[1], cornerPoints[2]}; | ||
| unsigned short ind = 0; | ||
| if (nn[1] < nn[ind]) ind = 1; | ||
| if (nn[2] < nn[ind]) ind = 2; | ||
|
|
||
| unsigned short indm1 = ind == 0 ? 2 : ind - 1; // Next lower index. | ||
| unsigned short indp1 = ind == 2 ? 0 : ind + 1; // Next upper index. | ||
|
|
||
| if (nn[indp1] < nn[indm1]) { | ||
| /* The orientation of the triangle remains the same. | ||
| Store the new sorted node numbering. */ | ||
| cornerPoints[0] = nn[ind]; | ||
| cornerPoints[1] = nn[indp1]; | ||
| cornerPoints[2] = nn[indm1]; | ||
| } else { | ||
| /* The orientation of the triangle changes. Store the new | ||
| sorted node numbering and set swapElements to true. */ | ||
| cornerPoints[0] = nn[ind]; | ||
| cornerPoints[1] = nn[indm1]; | ||
| cornerPoints[2] = nn[indp1]; | ||
| swapElements = true; | ||
| } | ||
|
|
||
| break; | ||
| } | ||
|
|
||
| case 4: { | ||
| /* Element is a quadrilateral. The vertices are sorted in increasing order | ||
| under the condition neighboring vertices remain neighbors. If the | ||
| sequence of the new numbering is opposite to the current | ||
| numbering, the element information must be exchanged, because | ||
| element 0 is to the left of the face and element 1 to the right. */ | ||
| unsigned long nn[] = {cornerPoints[0], cornerPoints[1], cornerPoints[2], cornerPoints[3]}; | ||
| unsigned short ind = 0; | ||
| if (nn[1] < nn[ind]) ind = 1; | ||
| if (nn[2] < nn[ind]) ind = 2; | ||
| if (nn[3] < nn[ind]) ind = 3; | ||
|
|
||
| unsigned short indm1 = ind == 0 ? 3 : ind - 1; // Next lower index. | ||
| unsigned short indp1 = ind == 3 ? 0 : ind + 1; // Next upper index. | ||
| unsigned short indp2 = ind >= 2 ? ind - 2 : ind + 2; // Opposite index. | ||
|
|
||
| if (nn[indp1] < nn[indm1]) { | ||
| /* The orientation of the quadrilateral remains the same. | ||
| Store the new sorted node numbering. */ | ||
| cornerPoints[0] = nn[ind]; | ||
| cornerPoints[1] = nn[indp1]; | ||
| cornerPoints[2] = nn[indp2]; | ||
| cornerPoints[3] = nn[indm1]; | ||
| } else { | ||
| /* The orientation of the quadrilateral changes. Store the new | ||
| sorted node numbering and set swapElements to true. */ | ||
| cornerPoints[0] = nn[ind]; | ||
| cornerPoints[1] = nn[indm1]; | ||
| cornerPoints[2] = nn[indp2]; | ||
| cornerPoints[3] = nn[indp1]; | ||
| swapElements = true; | ||
| } | ||
|
|
||
| break; | ||
| } | ||
|
|
||
| default: { | ||
| std::ostringstream message; | ||
| message << "Unknown surface element type with " << nCornerPoints << " corners." << std::endl; | ||
| SU2_MPI::Error(message.str(), CURRENT_FUNCTION); | ||
| } | ||
| } |
Check notice
Code scanning / CodeQL
Long switch case
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.