Skip to content

Commit f91e9ea

Browse files
committedJan 28, 2024
fix bug in Hex20 bc mesh conn
1 parent 2436236 commit f91e9ea

File tree

2 files changed

+52
-62
lines changed

2 files changed

+52
-62
lines changed
 

‎src/FECell/Lagrange3DMeshCellGenerator.cpp

+48-48
Original file line numberDiff line numberDiff line change
@@ -835,59 +835,59 @@ bool Lagrange3DMeshCellGenerator::generateFECell(const MeshType &t_meshtype,FECe
835835
}
836836
if(j==1){
837837
// for bottom bc elements
838-
bottomconn[(k-1)*t_celldata.Ny+j-1].Dim=2;
839-
bottomconn[(k-1)*t_celldata.Ny+j-1].NodesNumPerElmt=8;
840-
bottomconn[(k-1)*t_celldata.Ny+j-1].VTKCellType=23;
838+
bottomconn[(k-1)*t_celldata.Nx+i-1].Dim=2;
839+
bottomconn[(k-1)*t_celldata.Nx+i-1].NodesNumPerElmt=8;
840+
bottomconn[(k-1)*t_celldata.Nx+i-1].VTKCellType=23;
841841

842-
bottomconn[(k-1)*t_celldata.Ny+j-1].PhysicalGroupNums=1;
843-
bottomconn[(k-1)*t_celldata.Ny+j-1].PhysicalIDList.clear();
844-
bottomconn[(k-1)*t_celldata.Ny+j-1].PhysicalIDList.push_back(3);
845-
bottomconn[(k-1)*t_celldata.Ny+j-1].PhysicalNameList.clear();
846-
bottomconn[(k-1)*t_celldata.Ny+j-1].PhysicalNameList.push_back("bottom");
847-
848-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.clear();
849-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i1);
850-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i2);
851-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i6);
852-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i5);
853-
//
854-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i9);
855-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i18);
856-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i13);
857-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtConn.push_back(i17);
858-
859-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords.resize(8);
860-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,1)=nodecoords[(i1-1)*3+1-1];
861-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,2)=nodecoords[(i1-1)*3+2-1];
862-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(1,3)=nodecoords[(i1-1)*3+3-1];
863-
//
864-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,1)=nodecoords[(i2-1)*3+1-1];
865-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,2)=nodecoords[(i2-1)*3+2-1];
866-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(2,3)=nodecoords[(i2-1)*3+3-1];
867-
//
868-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,1)=nodecoords[(i6-1)*3+1-1];
869-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,2)=nodecoords[(i6-1)*3+2-1];
870-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(3,3)=nodecoords[(i6-1)*3+3-1];
871-
//
872-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,1)=nodecoords[(i5-1)*3+1-1];
873-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,2)=nodecoords[(i5-1)*3+2-1];
874-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(4,3)=nodecoords[(i5-1)*3+3-1];
842+
bottomconn[(k-1)*t_celldata.Nx+i-1].PhysicalGroupNums=1;
843+
bottomconn[(k-1)*t_celldata.Nx+i-1].PhysicalIDList.clear();
844+
bottomconn[(k-1)*t_celldata.Nx+i-1].PhysicalIDList.push_back(3);
845+
bottomconn[(k-1)*t_celldata.Nx+i-1].PhysicalNameList.clear();
846+
bottomconn[(k-1)*t_celldata.Nx+i-1].PhysicalNameList.push_back("bottom");
847+
848+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.clear();
849+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i1);
850+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i2);
851+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i6);
852+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i5);
853+
//
854+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i9);
855+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i18);
856+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i13);
857+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtConn.push_back(i17);
858+
859+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords.resize(8);
860+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,1)=nodecoords[(i1-1)*3+1-1];
861+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,2)=nodecoords[(i1-1)*3+2-1];
862+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(1,3)=nodecoords[(i1-1)*3+3-1];
863+
//
864+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,1)=nodecoords[(i2-1)*3+1-1];
865+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,2)=nodecoords[(i2-1)*3+2-1];
866+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(2,3)=nodecoords[(i2-1)*3+3-1];
867+
//
868+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,1)=nodecoords[(i6-1)*3+1-1];
869+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,2)=nodecoords[(i6-1)*3+2-1];
870+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(3,3)=nodecoords[(i6-1)*3+3-1];
871+
//
872+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,1)=nodecoords[(i5-1)*3+1-1];
873+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,2)=nodecoords[(i5-1)*3+2-1];
874+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(4,3)=nodecoords[(i5-1)*3+3-1];
875875
////
876-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(5,1)=nodecoords[(i9-1)*3+1-1];
877-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(5,2)=nodecoords[(i9-1)*3+2-1];
878-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(5,3)=nodecoords[(i9-1)*3+3-1];
876+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,1)=nodecoords[(i9-1)*3+1-1];
877+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,2)=nodecoords[(i9-1)*3+2-1];
878+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(5,3)=nodecoords[(i9-1)*3+3-1];
879879
//
880-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(6,1)=nodecoords[(i18-1)*3+1-1];
881-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(6,2)=nodecoords[(i18-1)*3+2-1];
882-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(6,3)=nodecoords[(i18-1)*3+3-1];
880+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,1)=nodecoords[(i18-1)*3+1-1];
881+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,2)=nodecoords[(i18-1)*3+2-1];
882+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(6,3)=nodecoords[(i18-1)*3+3-1];
883883
//
884-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(7,1)=nodecoords[(i13-1)*3+1-1];
885-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(7,2)=nodecoords[(i13-1)*3+2-1];
886-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(7,3)=nodecoords[(i13-1)*3+3-1];
884+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,1)=nodecoords[(i13-1)*3+1-1];
885+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,2)=nodecoords[(i13-1)*3+2-1];
886+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(7,3)=nodecoords[(i13-1)*3+3-1];
887887
//
888-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(8,1)=nodecoords[(i17-1)*3+1-1];
889-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(8,2)=nodecoords[(i17-1)*3+2-1];
890-
bottomconn[(k-1)*t_celldata.Ny+j-1].ElmtNodeCoords(8,3)=nodecoords[(i17-1)*3+3-1];
888+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,1)=nodecoords[(i17-1)*3+1-1];
889+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,2)=nodecoords[(i17-1)*3+2-1];
890+
bottomconn[(k-1)*t_celldata.Nx+i-1].ElmtNodeCoords(8,3)=nodecoords[(i17-1)*3+3-1];
891891

892892
bottomnodes.push_back(i1);
893893
bottomnodes.push_back(i2);

‎src/main.cpp

+4-14
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@
1818
#include "Welcome.h"
1919
#include "FEProblem/FEProblem.h"
2020

21-
#include "FECell/FECell.h"
22-
#include "FECell/FECellGenerator.h"
2321
int main(int args,char *argv[]){
2422
PetscErrorCode ierr;
2523
ierr=PetscInitialize(&args,&argv,NULL,NULL);if (ierr) return ierr;
@@ -31,19 +29,11 @@ int main(int args,char *argv[]){
3129

3230
welcome(Year,Month,Day,Version);
3331

34-
// FEProblem feProblem;
35-
// feProblem.initFEProblem(args,argv);
36-
// feProblem.run();
37-
// feProblem.finalize();
32+
FEProblem feProblem;
33+
feProblem.initFEProblem(args,argv);
34+
feProblem.run();
35+
feProblem.finalize();
3836

39-
FECell mycell;
40-
FECellGenerator generator;
41-
mycell.setMeshInfo(1,2,3,0.0,1.0,0.0,1.0,0.0,1.0,MeshType::HEX20);
42-
generator.createFEMeshCell(MeshType::HEX20,mycell.getCellDataRef());
43-
mycell.printSummaryInfo();
44-
45-
mycell.saveFECell2VTUFile();
46-
4737

4838
ierr=PetscFinalize();CHKERRQ(ierr);
4939
return ierr;

0 commit comments

Comments
 (0)
Please sign in to comment.