How can I put orthotropic material properties(i.e. compliance matrix) into model?

4 views (last 30 days)
Hello there!
I want to fulfill the FEM analysis(Structural static) for simple model, whose mechanical properties is orthotropic.
I've found that there are few function and method to input such properties in the model, like
model = femodel(AnalysisType="StructuralStatic", ...
Geometry="my_model.stl");
pdegplot(model.Geometry,FaceAlpha=0.3);
E = [22E9,9.8E9,22E9];
nu = [0.28,0.28,0.11];
G = [3.5E9,3.5E9,2.5E9];
rho = 1.3e-5;
model.MaterialProperties = materialProperties(YoungsModulus=E, ...
PoissonsRatio=nu, ...
MassDensity=rho, ...
ShearModulus=G...
);
% result says that ShearModulus is not definded in MaterialProperties,
% and the other factor have to be double or blank.
or like below,
%ccoef is 45X1 vector, which is derived from 6X6 compliance matrix.
specifyCoefficients(model,"m",0,...
"d",0,...
"c",ccoef,...
"a",0,...
"f",0);
% result says that the amount/form of input/output is not correct.
but non of above didn't work for me.
It would be so thankful if you give me any kind of advices on my problem.
  2 Comments
Angelo Yeo
Angelo Yeo on 6 Apr 2024
Moved: Angelo Yeo on 8 Apr 2024
Can you spot the ShearModulus in your "MaterialProperties" of your model?
gm = multicuboid([2 3 5],[4 6 10],3); % a random geometry model
pdegplot(gm,CellLabels="on",FaceAlpha=0.3)
model = femodel(AnalysisType="StructuralStatic", ...
Geometry=gm);
model.MaterialProperties
ans =
0x3 materialProperties array with properties: PoissonsRatio YoungsModulus ShearModulus MassDensity CTE ThermalConductivity SpecificHeat HystereticDamping RelativePermittivity RelativePermeability ElectricalConductivity
You need to investigate your "my_model.stl" first and see if you have defined "ShearModulus" or not.
Hyeokjun Suh
Hyeokjun Suh on 8 Apr 2024
Moved: Angelo Yeo on 8 Apr 2024
Oh I'm sorry I saw your answer too late.
Above all, I solved this problem using "createpde()".
I noticed that had tried to specify the coefficients without defining the pde, which doesn't make sense.
So I did it like below,
c11 = 165.7*10^9;
c12 = 63.9*10^9;
c44 = 79.6*10^9;
C = [c11 c12 c12 0 0 0;
c12 c11 c12 0 0 0;
c12 c12 c11 0 0 0;
0 0 0 c44 0 0;
0 0 0 0 c44 0;
0 0 0 0 0 c44;];
nineMat = SixMat2NineMat(C);
ccoef = SquareMat2CCoeffVec(nineMat);
model = createpde(3);
importGeometry(model, "my_model.stl");
specifyCoefficients(model,"m",0,...
"d",0,...
"c",ccoef,...
"a",0,...
"f",[0;9.81;0]);
applyBoundaryCondition(model,"dirichlet", ...
"Face",2, ...
"u",[0,0,0]);
% applyBoundaryCondition(model,"neumann",Face=1,g=[0;9.81;0]);
pdegplot(model,"FaceLabels","on","FaceAlpha",0.2,"EdgeLabels","on")
and the result was good enough for me. Thanks for your kind answer though!
Below is the materialProperties I used to struggle with, and I don't see 'ShearModulus' inside the properties.
I didn't defined the 'ShearModulus' before as you said.
The error has occured with : materialProperties
'ShearModulus'is not valid factor. It has to be one of following : % as sentences were written in Korean, I rewrote it in English
'PoissonsRatio'
'YoungsModulus'
'MassDensity'
'CTE'
'ThermalConductivity'
'SpecificHeat'
'HystereticDamping'
'RelativePermittivity'
'RelativePermeability'
'ElectricalConductivity'
Well if you don't mind, can you teach me how to define a shear modulus properties in materialProperties for the next time I encounter such problem?

Sign in to comment.

Answers (0)

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!