Borrar filtros
Borrar filtros

Modelling shell behavior with femodel

4 visualizaciones (últimos 30 días)
Daniel Benaim
Daniel Benaim el 13 de Jun. de 2024
Respondida: Karan Singh el 18 de Jun. de 2024
I apologize if this question is banal but is there a way to model bending plates with femodel?
Playing around with the object definition I managed to make a 2D rectangular model with uniform surface pressure and fixed edges, I assigned material properties, generated a mesh and solved the model. When I inspect the results, there are only null fields that correspond to membrane behavior and no bending.

Respuestas (1)

Karan Singh
Karan Singh el 18 de Jun. de 2024
Hi Daniel,
As I don’t have access to your code, I can’t pinpoint the exact problem you're facing, but we can proceed with an example.
  • You create a rectangular geometry with length \(L = 1\) meter and width \(W = 0.5\) meter.
L = 1; % Length of the rectangle
W = 0.5; % Width of the rectangle
gdm = [3, 4, 0, L, L, 0, 0, 0, W, W]';
g = decsg(gdm, 'R1', ('R1')');
  • You create a structural model for static plane stress analysis.
model = createpde('structural', 'static-planestress');
  • The geometry is included in the structural model.
geometryFromEdges(model, g);
  • This step visualizes the geometry with edge labels for reference.
figure;
pdegplot(model, 'EdgeLabels', 'on');
title('Geometry with Edge Labels');
axis equal;
  • You specify the material properties (Young's modulus and Poisson's ratio) for the rectangular plate.
E = 210e9; % Young's modulus in Pascals
nu = 0.3; % Poisson's ratio
structuralProperties(model, 'YoungsModulus', E, 'PoissonsRatio', nu);
  • The edges are fixed to prevent rigid body motion and to ensure the model is properly constrained.
Edge 1 (Bottom Edge): Fully fixed (both x and y displacements are zero).
Edge 4 (Left Edge): Fixed in the x direction to prevent horizontal movement.
% Fix the bottom edge completely
structuralBC(model, 'Edge', 1, 'Constraint', 'fixed');
% Fix the left edge in the x direction to prevent horizontal movement
structuralBC(model, 'Edge', 4, 'XDisplacement', 0);
  • You apply a uniform pressure load to the top and right edges.
pressure = 1e5; % Uniform pressure in Pascals
structuralBoundaryLoad(model, 'Edge', [2, 3], 'SurfaceTraction', [0; -pressure]);
  • A mesh with a specified maximum element size is generated.
generateMesh(model, 'Hmax', 0.05);
  • This step visualizes the generated mesh.
figure;
pdeplot(model);
title('Mesh');
axis equal;
  • The structural model is solved.
result = solve(model);
  • The displacement magnitude and Von Mises stress are plotted to visualize the results, including deformation.
figure;
pdeplot(model, 'XYData', result.Displacement.Magnitude, 'Deformation', result.Displacement, 'DeformationScaleFactor', 1);
title('Displacement Magnitude with Deformation');
colorbar;
figure;
pdeplot(model, 'XYData', result.VonMisesStress, 'Deformation', result.Displacement, 'DeformationScaleFactor', 1);
title('Von Mises Stress with Deformation');
colorbar;
I hope this helps you get a clearer picture!
Thanks,
Karan

Community Treasure Hunt

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

Start Hunting!

Translated by