I'm working with tetrahedral finite elements. I can happily set up a mesh and work with said mesh. A really simple example code then gives the following with 72 elements:
clear,close all; clc; dbstop if error;Nx = 4; Ny =3; Nz = 3; %No. Nodes Nx*Ny Ny = odd
%Variables to create Mesh:
a = 1; b = 1; c = 2;X = linspace(0,a,Nx); Y = linspace(0,c,Ny); Z = linspace(0,a,Nz);[X,Y,Z] = meshgrid(X,Y,Z); X = X(:); Y = Y(:); Z=Z(:);%Meshing:
TRI = delaunay(X,Y,Z);N = [X,Y,Z]; %Node Coordinates Vector
%figure; triplot(TRI,X,Y);
figure; tetramesh(TRI,[X(:),Y(:),Z(:)]), xlabel('x'),ylabel('y'),zlabel('z');
As a part of my model, each individual element is assumed to be homogoenous and as such has a material property associated with it which for the example here is given by:
NE = size(TRI,1); %Number of Elements
Elements = 1:NE;Rho_e = zeros(NE,1);Rho_e(Elements(sum(Y(TRI) <= b,2)==3)) = rho;
When I'm working with triangles in 2D. I can make use of trisurf and create a plot of the material properties:
Nx = 13; Ny =13; %No. Nodes
%Variables to create Mesh:a = 1; b = 1; c = 2;X = linspace(0,a,Nx); Y = linspace(0,c,Ny); [X,Y] = meshgrid(X,Y); X = X(:); Y = Y(:);TRI = delaunay(X,Y); %Simple Mesh
figure;trisurf(TRI,X,Y,0*X,Rho_e,'edgecolor','k','facecolor','interp');
I'm currently trying then to create this plot for a 3D mesh of delauney tetrahedra as set up in the previous code. My current attempt looks like:
tetramesh(TRI,[X,Y,Z],Rho_e,'facecolor','interp');view(2); axis equal; colorbar; xlim([0,a]); ylim([0,c]); zlim([0,a]);
Which results in the following error message:
Warning: Error creating or updating Patch Error in value of property FaceVertexCData Number of colors must equal number of vertices > In defaulterrorcallback (line 12) In Oct8_3DFEM (line 56)
My guess is that I somehow need to manipulate my Rho vector from reprsenting individual elements to individual vertices. However for physical purposes it is important I find Rho_e first. The final image I'm searching for will essentially be a 3D projection of the 2D one attached above. Any thoughts, advice or other suggestions would be greatly appreciated
Best Answer