From 1b37099b0d197349326396fe8b7b2a1f4fc5a137 Mon Sep 17 00:00:00 2001 From: Paul Dechamps <paul.dechamps@uliege.be> Date: Tue, 27 Feb 2024 18:17:30 +0100 Subject: [PATCH] (feat) Compute elements positions in dart API --- blast/interfaces/DDataStructure.py | 2 +- blast/interfaces/dart/DartInterface.py | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/blast/interfaces/DDataStructure.py b/blast/interfaces/DDataStructure.py index c1eec30..161822e 100644 --- a/blast/interfaces/DDataStructure.py +++ b/blast/interfaces/DDataStructure.py @@ -9,7 +9,7 @@ class Group: self.nPoints = nPoints self.nElems = nPoints - 1 self.nodesCoord = np.zeros((self.nPoints,4)) - self.elemsCoord = np.zeros((self.nPoints,4)) + self.elemsCoord = np.zeros((self.nPoints-1,4)) self.V = np.zeros((self.nPoints,3)) self.M = np.zeros(self.nPoints) diff --git a/blast/interfaces/dart/DartInterface.py b/blast/interfaces/dart/DartInterface.py index a52b126..b6fecc9 100644 --- a/blast/interfaces/dart/DartInterface.py +++ b/blast/interfaces/dart/DartInterface.py @@ -267,9 +267,17 @@ class DartInterface(SolversInterface): data[:,2] = data[connectListNodes,2] data[:,3] = data[connectListNodes,3] data[:,4] = data[connectListNodes,4] + self.iBnd[0].nodesCoord = np.column_stack((data[:,1], data[:,2],\ data[:,3], data[:,4])) self.iBnd[0].setConnectList(connectListNodes, connectListElems) + elemCoord = np.zeros((len(self.iBnd[0].nodesCoord)-1, 4)) + for i in range(len(elemCoord[:,0])): + elemCoord[i,0] = 0.5 * (self.iBnd[0].nodesCoord[i,0] + self.iBnd[0].nodesCoord[i+1,0]) + elemCoord[i,1] = 0.5 * (self.iBnd[0].nodesCoord[i,1] + self.iBnd[0].nodesCoord[i+1,1]) + elemCoord[i,2] = 0.5 * (self.iBnd[0].nodesCoord[i,2] + self.iBnd[0].nodesCoord[i+1,2]) + elemCoord[i,3] = i + self.iBnd[0].elemsCoord = elemCoord # Wake self.iBnd[1].initStructures(self.blw[1].nodes.size()) -- GitLab