program Smeared
implicit none
! Variables are declared.
real::
fyk,Es=200000,fyd,C,fck,Ec,fcr,ecr=0.00008,As,Ac,ro,C1,fsx(1000),esx(1000),fs,es,fyy
real,Parameter:: pi=3.1415927
integer::i,j,k
! Data entry
Print*, "please enter the following material properties and cross sectional
parameters"
Print*, "the class of concrete in use(limited from C15 to C60). e.g for C25 input 25"
Read*,C
fck=C/1.25
fcr=0.31*sqrt(fck)
Ec=9500*((fck+8)**(1.0/3.0))
Print*, "summary of the concrete property used"
Print*, "fck=",fck,"Mpa"
Print*, "fcr=",fcr,"Mpa"
Print*, " Ec=",Ec,"Mpa"
Print*, "ecr=",ecr,"mm/mm"
Print*, "__________________________________________________________"
Print*, "the grade of reinforcing bar used. e.g. for S300 input 300"
Read*,fyk
fyd=fyk/1.15
Print*, "summary of the reinforcing bar property used"
Print*, "fyk=",fyk,"Mpa"
Print*, "fyd=",fyd,"Mpa"
Print*, " Es=",Es,"Mpa"
Print*, "__________________________________________________________"
Print*, "area of reinforcement in tension zone in mm2"
Read*,As
Print*, "area of concrete in tension zone in mm2"
Read*,Ac
ro= As/Ac
Print*, "reinforcement ratio is",ro
Print*, "__________________________________________________________"
fyy=fyd*(1-((4/ro)*((fcr/fyd)**1.5)))
Print*, "Please enter the stress in MPa for which you would want to compute
corresponding smeared stress"
Read*,fs
IF(fs<fyy)then
es=fs/Es
Else
es= ((((0.02-(fyy/Es))/(fyk-fyy))*(fs-fyy))+(fyy/Es))
End if
Do i=1,10,1
C1=(1.0/ro)*fcr*((ecr/es)**0.4)
Do j=1,1000,1
fsx(j)=fs+(C1*cos(pi*(j/1000)))
End Do
Do k=1,1000,1
If(fsx(k)<fyd)then
esx(k)= fsx(k)/Es
else
esx(k)=fyd/Es
end if
End Do
es=sum(esx)/1000
End do
Print*,es
end program Smeared