# Simple compression of cylinder- results of finite element model don't make sense

17 views (last 30 days)
Clay Swackhamer on 8 Apr 2019
Answered: Ravi Kumar on 8 Apr 2019
I am trying to simulate the steady state compression of a cylinder using finite element analysis. The model that I have runs, but the results don't make sense to me. It seems that the cylinder flattens almost down to zero height, no matter how weak of the compression force or how stiff the cylinder's material. I am a beginner to solid mechanics so perhaps this has to do with solving at steady state, or alternatively is there an error in my model that I am not able to see?
%% Declare pde
model = createpde('structural','static-solid'); %declare the model and physics
%% Cylindrical geometry
gm = multicylinder(0.025,0.025); %25mm diameter, 25mm height
model.Geometry = gm; %assign the cylinder to the model
generateMesh(model); %mesh the model
%Plot the geometry
figure
pdegplot(model,'FaceLabels','on')
%% Mesh it
fineness = 5e-3; %1mm element size, roughly
generateMesh(model,'Hmax',fineness);
%Plot the mesh
figure
pdeplot3D(model)
%% Define material props
structuralProperties(model,'YoungsModulus',1e12,'PoissonsRatio',0.49);
%% Define boundary conditions
structuralBC(model,'Face',1,'Constraint','fixed'); %bottom of cylinder is fixed
load = 1; % applied pressure in Pascals
%% Solve
result = solve(model);
%% Plot the deformed object
figure
pdeplot3D(model,'ColorMapData',result.VonMisesStress, 'Deformation',result.Displacement)
axis on
Clay Swackhamer on 8 Apr 2019
Update: I think that the problem is how I am applying the boundary condition to the bottom of the cylinder. I would like to simulated compression of a soft cylinder against a ridid plate. Can I specify that this boundary should be supported (ie a normal force updards to maintain static equilibrium) without requiring that the edges of the cylinder cannot spread out?

Ravi Kumar on 8 Apr 2019
Hi Clay,
Your BCs are correct. I think the load you are applying is resulting in very small defomration. This is causing the default scaling factor to be very large and deforming the plot excessively. You can fix by applying the correct magnitude. If that still does not resolve the plot the stress with out 'Deformation' option and then manually find a appropriate sclae factor to observed the deformation by trying out few values as:
pdeplot3D(model,'ColorMapData',result.VonMisesStress, 'Deformation',result.Displacement,'DeformationScaleFactor',1)
Regards,
Ravi

### Categories

Find more on Structural Mechanics in Help Center and File Exchange

R2018b

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!