The previous post in this series looked at how specified shrinkage and creep strains affect the curvature of a reinforced consrete section subject to a constant load. In this post I will present a User Defined Function (UDF) that analyses the curvature due to loading, prestress, creep and shrinkage over a series of time steps, allowing the interaction between these factors to be taken into account, and also allowing for variation in loading and the concrete stiffness over time.
The UDF has been added to RC design functions6.zip. As usual, the spreadsheet includes full open sourec code.
The procedure used is:
- Read the section properties, creep and shrinkage parameters for each time step, and optionally load, prestress and concrete E value for each time step.
- For each time step:
- Adjust the applied loads, prestress, and concrete E value, if required.
- Adjust the concrete E value for the increase in creep from the previous step.
- Calculate a virtual prestress force equivalent to the total shrinkage and creep strain up the the previous step, plus the shrinkage strain for the current step.
- Calculate the section strains and curvature for the current step.
- Update the virtual prestress to include the creep increment from the current step.
- Go to next time step.
The screenshot below shows typical input data and results from the TimeCurve function compared with a time-step analysis carried out in the finite element analysis program Strand7.
This screenshot shows typical time-step data and results. Note that the UDF must be entered as an array function (press ctrl-shift-enter) to view all the results.:
The spreadsheet also includes the following new functions:
- TimeSteps – generates a series of timesteps with logarithmic spacing
- EC2Props – generates concrete properties for a given age and strength grade, as specified in Eurocode2.