HYSTERISIS LOOPS USING DATA

6 views (last 30 days)
Parth Kulkarni
Parth Kulkarni on 20 Jul 2021
Commented: Parth Kulkarni on 20 Jul 2021
I prepared this code to randomise values of stress(Sigma in a range), Kp and Np to get new strains added to the previous iteration( Operation ) using for loop system. I want to create hysterisis loop of stress vs strain ( Sigma vs epsilon ) for all the iterations but i am not able to figure out the way.
clc;
clear all;
close all;
sgna=150;
sgnb=650;
sgnN=200; %%%%%%
sgnrand=sgna+(sgnb-sgna).*rand(sgnN,1);
sgn=sgnrand;
kpa=950;
kpb=1370;
kpN=1; %%%%
kprand=kpa+(kpb-kpa).*rand(kpN,1);
kp=kprand;
npa=0;
npb=1;
npN=1; %%%%
nprand=npa+(npb-npa).*rand(npN,1);
np=nprand;
E=21000;
ee1=(sgn(1)/(2*E))+((sgn(1)/(2*kp(1)))^(1/np(1)))
ll=0;
mm=0;
nn=0;
rr=0;
for ll=1:sgnN
for mm=1:kpN
for nn=1:npN
rr=rr+1;
if rr==1
ee(rr)=ee1;
else
ee(rr)=(sgn(ll)/(2*E))+((sgn(ll)/(2*kp(mm)))^(1/np(nn)))+ee(rr-1);
end
end
end
end
plot(ee',sgn)
hold on;
scatter(ee',sgn,'.')
hold off
  3 Comments
Parth Kulkarni
Parth Kulkarni on 20 Jul 2021
It is not forming a curve. I also wanted to know if my code is correct for my application. Basically the equation is ee1=(sgn(1)/(2*E))+((sgn(1)/(2*kp(1)))^(1/np(1))) . where ee1 is the intial strain, sgn1 is intial stress, E is the elastic modulus, kp and np are components of hardening. I wanted to randomise Kp, np and stress ( Sgn) for every iteration which would gove a value of ee(Strain) this genrated value will be added to the next generation. I just hope that I am on the right path.
Parth Kulkarni
Parth Kulkarni on 20 Jul 2021
I also wanted to know if my code is correct for my application. Basically the equation is ee1=(sgn(1)/(2*E))+((sgn(1)/(2*kp(1)))^(1/np(1))) . where ee1 is the intial strain, sgn1 is intial stress, E is the elastic modulus, kp and np are components of hardening. I wanted to randomise Kp, np and stress ( Sgn) for every iteration which would gove a value of ee(Strain) this genrated value will be added to the next generation. I just hope that I am on the right path.

Sign in to comment.

Answers (1)

Tesfaye Girma
Tesfaye Girma on 20 Jul 2021
you can try this code
x = rand(10,1);
y = rand(10,1);
quiver(x(1:end-1),y(1:end-1),diff(x),diff(y),0);

Categories

Find more on Stress and Strain in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!