Community Tip - Your Friends List is a way to easily have access to the community members that you interact with the most! X
Dear PTC Mathcad Community,
I want to ask for clarification on the behaviour of units and symbolic substitution in Mathcad Prime (similar topics have already been raised, but I still haven't found an appropriate answer for my issue).
So I try to find a symbolic expression for epsilon_c2, which is a parameter of the equation N.
Solver succeeded with the issue, but with incompatible units (see picture)
So, I have tried to find out the solution in the community, but the advice of @Werner_E with calculation options didn't resolve the issue (see the picture)
So my issues are:
1. How to make the symbolic solving more "seamless" with appropriate units' manipulation in the solutions?
2. Why does Mathcad not see the assigned values of the epsilon_c2 obtained in the previous solution?
After some time, when the file has been refreshed, some magic happened, and now I can use the roots of epsilon c1 and c2 in a "normal" manner.
But the next issue is that it doesn't let me substitute the obtained symbolic solution into the following step calculation for the moment M calculation.
As it can be seen, the factual equation is real, with proper units,
Nevertheless, Mathcad is still not satisfied with...
I am still convinced of Mathcad's power, but each time I get stuck with such a misunderstanding of Mathcad logic, I feel broken, exhausted and unable to continue to the next step - automation of my manual solution.
Any clarification, examples, or references to documentation would be greatly appreciated.
I am trying to align my workflow with my Mathcad Prime 10.0.0.0 internal logic rather than fight against it.
Thank you very much for your time and support.
The file with the manual calculation of M is attached.
Solved! Go to Solution.
Hi Ivan
Version 4 of the file. Have found a couple of issues on checking my work. First to answer your questions.
"h" is not used in my worksheet. d is indeed h-as. the depth from top compression fiber to bottom steel layer.
The curvature is derived from e/kd not (ec1-ec2)/h. It is the same result.
Calculations for ecu1_cd/2 are an example only, I used as a check. they could be taken out and the sheet would still work.
The steel grade chosen like A400C is applied to both layers of steel. In practice it would not be a good idea to mix grades as errors on site of misplacing grades in wrong positions could occur.
I have found some errors in my sheet upon checking. That is why version 4.
Used the wrong column of DBN for fcd. This is corrected.
Used fyk and Es to set the max yield strain, then wound back the resulting stress by gamma s.
This means the steel stress strain diagram is altered.
Changes in yellow.
Results in very close answers to MQN.com. 383 to 385.
For some reason not getting the same stress values for the reinforcement?
Have corrected the stress calculations with s1 being the top reinforcement and s2 being the bottom reinforcement as per MQN.com.
Will continue to look for errors.
Do not be put of by the numeric integral calculus it gets the same result for compressive force in concrete as equation 4.3 is the mathematical equivalent:
Using the calculus it is easy to swap to Eurocode stress block.
I do not understand the second integration of compressive block in equation 4.4? If you take moments about the centroid of compressive force you eliminate that force from the moment calculation. What is X1 in equation 4.4?
I am checking for more errors as time permits so be prepared for version 5.
Not sure why your system does not find the text files. Try using the full path in Prime READFILE statements.
Cheers
Terry
@terryhendicott I am really impressed by your level of understanding and MathCAD mastery, Terry.
It'll help me a lot.
Trying to digest the material...
Regarding your question about X1
X1=ec1/א, where the א - curvature =1/h*(ec1-ec2)
I still can't get from the formula why do you put plus after the first member As*fs*(d-kd)...
The "+" sign depends on the distance d' from the most compressed part of the beam and comparison with kd. Whether the d ' is bigger than kd - the reinforcement is situated in the tensile zone, and the total moment will be equal to the lever arm (d-Centroid) produced by the sum of the reinforcement, which is in the tensile zone.
@Thank you for the clarification and the script modification, Werner.
I modified your script a little to include ORIGIN :0 in the hope that it'll give me zero values on the first iteration step, like here.
by providing a conditional statement and counting a coefficient from zero to four:
But somehow MathCAD do see the error still:
(((
Prime 10.0.0.0 is attached.
Can you explain why MathCAD sees it as an error?
As well as a few questions in the script, highlighted in colour.
i <- 0 is a local assignment!
In a conditional you have to use the comparison equal (Boolean equal)
See modifications in attached sheet.
If you just wanted all values to be zero in front it would have been easier to work from the previous sheet and simple add the zero values on top 😉
According your comments in the sheet - I don't see what you seemed to have seen. I only see errors because ec2 is not defined, etc.
You changed ORIGIN from 1 to it default value 0.
When you had a sum running from 1 to rows(...) it will not work that way, because vector indexing start with 0 now.
You are better of letting the sum run from ORIGIN to last(...). That way you are independent from the setting of ORIGIN.
@Werner_E Thank you for correcting the code, Werner.😁
Now, I really have the perspective to move forward to upgrade the code ))🙏
To make clear what I meant with my remark
"If you just wanted all values to be zero in front it would have been easier to work from the previous sheet and simple add the zero values on top"
You simply have to replace the bottom line of the program
with
to get
and
ORIGIN was not changed, its still 1..
I also noticed that the variables sigma_s1_2 and also x1 which you calculate are never used !?? So these calculations
and
could be deleted.
@Werner_E Yes, it will be more considerable!))
Thanks for your desire to help, Werner!!!
I played around a little bit and turned the calculations into individual functions rather than just working with vectors.
I had hoped that the maximum Moment value could be calculated with more precision using the derivative. Unfortunately Prime chokes on that - probably because of the if-statements and the resulting discontinuities in the derivative.
Nonetheless it may be useful. I also made all calculations ORIGIN-independent.
Prime 10 sheet attached
