Passing nNodes as argument
It seems that this improves results as passing the size of the arrays as an argument is better than getting it from self.
This commit is contained in:
parent
6f24b5f1f6
commit
15d64f3e68
8 changed files with 159 additions and 143 deletions
|
|
@ -215,19 +215,21 @@ MODULE moduleMesh
|
|||
|
||||
END FUNCTION getNodesVol_interface
|
||||
|
||||
PURE FUNCTION fPsi_interface(self, Xi) RESULT(fPsi)
|
||||
PURE FUNCTION fPsi_interface(self, Xi, nNodes) RESULT(fPsi)
|
||||
IMPORT:: meshCell
|
||||
CLASS(meshCell), INTENT(in):: self
|
||||
REAL(8), INTENT(in):: Xi(1:3)
|
||||
REAL(8):: fPsi(1:self%nNodes)
|
||||
INTEGER, INTENT(in):: nNodes
|
||||
REAL(8):: fPsi(1:nNodes)
|
||||
|
||||
END FUNCTION fPsi_interface
|
||||
|
||||
PURE FUNCTION dPsi_interface(self, Xi) RESULT(dPsi)
|
||||
PURE FUNCTION dPsi_interface(self, Xi, nNodes) RESULT(dPsi)
|
||||
IMPORT:: meshCell
|
||||
CLASS(meshCell), INTENT(in):: self
|
||||
REAL(8), INTENT(in):: Xi(1:3)
|
||||
REAL(8):: dPsi(1:3, 1:self%nNodes)
|
||||
INTEGER, INTENT(in):: nNodes
|
||||
REAL(8):: dPsi(1:3, 1:nNodes)
|
||||
|
||||
END FUNCTION dPsi_interface
|
||||
|
||||
|
|
@ -530,7 +532,7 @@ MODULE moduleMesh
|
|||
REAL(8):: f
|
||||
REAL(8):: fPsi(1:self%nNodes)
|
||||
|
||||
fPsi = self%fPsi(Xi)
|
||||
fPsi = self%fPsi(Xi, self%nNodes)
|
||||
f = DOT_PRODUCT(fPsi, valNodes)
|
||||
|
||||
END FUNCTION gatherF_scalar
|
||||
|
|
@ -546,7 +548,7 @@ MODULE moduleMesh
|
|||
REAL(8):: f(1:n)
|
||||
REAL(8):: fPsi(1:self%nNodes)
|
||||
|
||||
fPsi = self%fPsi(Xi)
|
||||
fPsi = self%fPsi(Xi, self%nNodes)
|
||||
f = MATMUL(fPsi, valNodes)
|
||||
|
||||
END FUNCTION gatherF_array
|
||||
|
|
@ -563,7 +565,7 @@ MODULE moduleMesh
|
|||
REAL(8):: dPsiR(1:3, 1:self%nNodes)
|
||||
REAL(8):: invJ(1:3, 1:3), detJ
|
||||
|
||||
dPsi = self%dPsi(Xi)
|
||||
dPsi = self%dPsi(Xi, self%nNodes)
|
||||
detJ = self%detJac(Xi, dPsi)
|
||||
invJ = self%invJac(Xi, dPsi)
|
||||
dPsiR = MATMUL(invJ, dPsi)/detJ
|
||||
|
|
@ -590,7 +592,7 @@ MODULE moduleMesh
|
|||
CLASS(meshNode), POINTER:: node
|
||||
|
||||
cellNodes = self%getNodes()
|
||||
fPsi = self%fPsi(part%Xi)
|
||||
fPsi = self%fPsi(part%Xi, self%nNodes)
|
||||
|
||||
tensorS = outerProduct(part%v, part%v)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue