How can I improve accuracy using PDE Toolbox
16 次查看(过去 30 天)
显示 更早的评论
Hello,
I have a cantilever with a constant force. I'm computing the reaction on the clamped edge with the PDE Toolbox.
However the difference between numerical and exact solution is too high.
Is there a way too reduce the difference, other then reducing maximum element size Hmax?
yModulus = 200e3; % young's modulus
ny = 0.2; % Poissons ratio
Hmax = 0.01; % max element size
l = 1; % length of cantilever
b = 0.2; % height of cantilever
q = 10; % constant force
f_press = @(region,state) [q*ones(size(region.y)),zeros(size(region.y))];
structModel = createpde('structural','static-planestress');
gd = [3;4;0;b;b;0;0;0;l;l];
g = decsg(gd,'R',char('R'));
geometryFromEdges(structModel,g);
generateMesh(structModel,'Hmax',Hmax);
structuralProperties(structModel,...
'YoungsModulus',yModulus,...
'PoissonsRatio',ny);
structuralBC(structModel,'Edge',1,'Constraint','fixed');
structuralBoundaryLoad(structModel,'Edge',4,'SurfaceTraction',f_press);
res = solve(structModel);
% Fx should equal 10
reaction = evaluateReaction(res,'Edge',1);
![difference.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/200369/image.png)
0 个评论
回答(2 个)
Alan Weiss
2019-1-9
If your toolbox version were R2017a or earlier, the default mesh for 2-D geometry has linear elements. You can get improved accuracy by using quadratic elements:
generateMesh(model,'GeometricOrder','quadratic')
However, since your toolbox version is R2017b or later (that's when structural analysis was introduced), then I don't know of a way to get more accuracy other than taking a finer mesh.
Alan Weiss
MATLAB mathematical toolbox documentation
0 个评论
Svetlana Pease
2019-1-9
For this particular example, using a finer mesh seems to be the only way to get a more accurate result. In general, you can also try different solver options - for example, you can tighten the tolerances:
Svetlana Pease
MathWorks Documentation Group
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!