cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community email notifications are disrupted. While we are working to resolve, please check on your favorite boards regularly to keep up with your conversations and new topics.

Stress Strain Fitting...(former Arrays)

Dumitru
1-Newbie

Stress Strain Fitting...(former Arrays)

Hi again. Hope you're all doing great!

I'm back with more on my initial post. Taking into consideration our discussions and after completing the remaining tests, I've reached the attached...

The problems I'm facing next are:

1. I have 30 sets (each of 50 pairs, strains and corresponding stresses) to which I want to find a "mean" - construct a curve which gives, for lets say a given strain, the mean of the stresses (problem is the strains are particular to each and every set)

2. find the tangent in the origin (since most curves have a stabilization step - a preload until a stress of 20 MPa, that means finding the tangent for the curve in this point)

Kind regards, Dumitru

First, I tried to reduce the replies to the first form of my topic (I've saved it all as document so it should be available to everyone) but gave up soon after.

Second, I've renamed it..thanks giraud for suggestion (I kept it in the initial form considering the fact that it would be easier for you collabs out there, who helped a lot, to reference back)

Kind regards, D.

66 REPLIES 66
RichardJ
19-Tanzanite
(To:Dumitru)

Do you mean you want to change the array indexes in the solve block to values other than 10 and 100, and get results for all the possible indexes? That's easy to do, but you need to fix the expressions in the solve block first. The ones you have do not make sense. See the attached.

Richard
RichardJ
19-Tanzanite
(To:Dumitru)

I don not understand what you are trying to do with your conditions. I think when you write "for" you mean "if", but even then they make no sense. Tell me, in words, what the first condition is supposed to do.

Richard
RichardJ
19-Tanzanite
(To:Dumitru)

That was actually a lot more work than I expected. All your coefficients are complex.

Richard

On 4/21/2010 1:36:58 PM, dvmoldovan wrote:
>The idea is:
>
...
>Any suggestion will be
>valued...(i'm using v. 13)
>
>Kind regards, Dumitru
__________________________

What a huge size for a peanut data set, and not stand alone, in a Mathcad work sheet. It might be good idea to analyze graphically before entering other concept. For a solution to exist with the same A, B, C, D it is clear that the function and the derivative must be linearly dependent. You will surely understand this attempted that can't be completed because "This variable is not defined above".

jmG

::: I feel the solution via InverseFunction,
but can't express it yet as a general solver.

jmG

On 4/25/2010 1:20:37 AM, jmG wrote:
>::: I feel the solution via
>InverseFunction,
>but can't express it yet as a
>general solver.
>
>jmG
_______________________________
... then, let's leave it as simple as possible. The system is completely solved by imposing the constrains as you have. Only two are needed because of the derivative and it solves for the linear relationship and their linear domain. Kind of reverse engineering DE.

Hope it helps, as is !
No clear recollection of such solving was done in the collab.

jmG





RichardJ
19-Tanzanite
(To:ptc-1368288)

On 4/25/2010 2:35:20 AM, jmG wrote:
> The system is completely
>solved by imposing the constrains as you
>have.

It it trivial to prove that your solution is not valid. You can find the necessary value of Ec/Eo by evaluating the derivative at X=0 (condition 1). Then plug that value into condition 2, and you will find that Y is not equal to 0.45.

Richard

On 4/25/2010 9:26:31 AM, rijackson wrote:
>On 4/25/2010 2:35:20 AM, jmG wrote:
>
>The system is completely
>solved by
>imposing the constrains as
>you
>have.

It it trivial to prove that
>your solution is not valid. You can find
>the necessary value of Ec/Eo by
>evaluating the derivative at X=0
>(condition 1). Then plug that value into
>condition 2, and you will find that Y is
>not equal to 0.45.

Richard
___________________________

You may have a point, Richard.
Your saved 11 version is about all red.

jmG


RichardJ
19-Tanzanite
(To:ptc-1368288)

On 4/25/2010 9:58:46 AM, jmG wrote:

>You may have a point, Richard.
>Your saved 11 version is about all red.

Define MPa and GPa.

Some of the symbolic stuff will not work in 11 either. Hit Esc and disable the rows() and cols() statements

Richard


On 4/25/2010 11:21:39 AM, rijackson wrote:
>On 4/25/2010 9:58:46 AM, jmG wrote:
>
>>You may have a point, Richard.
>>Your saved 11 version is about all red.
>
>Define MPa and GPa.
>
>Some of the symbolic stuff will not work
>in 11 either. Hit Esc and disable the
>rows() and cols() statements
>
>Richard
>______________________________________

Thanks Richard,

This work sheet is really too messy and of such huge size and not stand alone. I was only interested in matching a function and its derivative given two conditions. Intuitively, the solution is a linear relationship in their new domain ... x ==> u,v.

I have no expertise in the collab domain of concrete to tell if he is wrong in some of the assumption he is making. Whatever I could do more in 11, it might not work in his 14 version. I will come back for the general interest of the matter.

Thanks again.

Jean




On 4/26/2010 9:34:41 AM, dvmoldovan wrote:
>Thank you all for
>helping...I'll start carefully
>looking into your comments and
>sheets!
>
>Kind regards, Dumitru
________________________________

A final solution in the original domain 'x'
Recast the DAE solution:
The DAE is solved, it is not unique and we want the solution of the derivative member in the original domain 'x'. Simple:: express the derivative in term of a Fourier series. Depending upon the real spread of the [� x] domain of application, you might be able to best adapt L in order to reduce the number of terms in the Fourier polynomials because only the end points seem to wiggle in that particular application.
This DAE as bounded is solved completely, but not unique ... totally automated in < 1 s.

The other point is ::

You have assumed that the derivative solution could be expressed in term of the same size rational fraction as the function, but that is a pure assumption and unlikely possible [educated guess]. The other point in this other point is that for the derivative in term of a rational fraction would largely increase the size of the sheet for it to be automated.

What you are not clear about is the final purpose of the data table and all those things. If you would want to freeze the project once for ever for the data you have in hand and leave it as a master to be interpolated "per use", it would be a one time task to solve the project entirely ... and in the preferred way, i.e: either in Fourier series or in rational fraction. Your work sheet is hairy and not in the Mathcad style that a first time Engineer not familiar with your style can read. Excel has nothing to do with Mathcad, always make a work sheet stand alone. The next and not negligible point is the traceability. Mathcad is not reliable enough to comply to building codes or any "body codes". What that means is that the "project solution" should be all tabulated for hard prints and traceability and for transportability. What I mean is:: you must freeze the "project solution" with working formulas that can be "coded as approved" in "approved software" ... that can be this time Excel or else software available at the "Engineering firm".

I'm sure you understand/understood everything.

jmG

...suite : the bad news !

You have assumed the same size 2/2 rational would fit the solution, unfortunately it does not. Below Marlett, a 4/3 would be minimal for the range x � 2. The best way to learn and remember is from erroneous concepts. Ordinary reading does not print well in the brain. You never remember which hammer has pushed the nails correct, but the one hammer that smashed your fingers ... that one you remember.

I haven't tried a linfit Cheby, a bit more involved than Fourier.

jmG

A hammer and nails story,

This man was just new in the building crew. What a good man you have hired said the "magaziner" to the foreman. Is that so ? Oh ! yes, he is pushing about twice as many nails than the others by the number of nail boxes I deliver to him. Curious to see the champion at work, the foreman watched a bit closer for a while ... Hi man, why do you throw so many nails away ? Sir, the ones that have the head down ... I throw.

MORAL :: Never be too short of instructions and vigilance.

jmG

"I'm interested in automating this calculus for the whole range of X and Y."
____________________________

That is the a fitting session. Calculate the data range on X and on Y from tables or other source, then attach the data set in the collab. You will surely not get any integer coefficients. In other words, the project is to fit the function you believe as a good model, to fit this model to an unknown yet data set .

jmG
RichardJ
19-Tanzanite
(To:Dumitru)

On 4/30/2010 2:23:14 PM, dvmoldovan wrote:
>Sorry to get back on this post
>so late, but I first needed to
>carefully read (and
>understand) all your replies
>(thanks again). Still, I fill
>I haven't asked the right
>question.

That may be, but the answer I gave is the solution to the problem you posted, even if it is not the answer you wanted.

>If you have a
>function, Y(X), in which you
>know for a given domain (data
>in excel spreadsheets) both Y
>and X

You may know Y and X values for the given domain, but the way you defined your problem means they are not used to find the the solution, because.....

> but you have no clue on
>the 4 coefficients (A, B, C
>and D) that link X and Y (by
>the formula Y = (A + B * X *
>X)/(1 + C * X + D * X * X), if
>one imposes 4 conditions on
>the function you should get a
>domain of values for A, B, C
>and D.

.....the conditions you impose are at specific X and Y values, 0, 0.45, and 1, and it is the values of the conditions at those values (only at those values) that define the coefficients.

>Those values should be
>integers, since the function
>itself has a very physical
>meaning (stress = a function
>of strain).

Why should they be integer? There is no reason they need even be real. The stress and strain (Y and X) must be the real, but the coefficients don't need to be. For the example values of Eo6 and Ecm I plugged in the coefficients are complex. There are no real solutions. In fact, if you are talking about dynamic strain, as opposed to static strain, the coefficients are in general not real because the strain lags behind the stress. If you really need real coefficients then there is either an error somewhere else in the worksheet that leads to incorrect values for Eo6 and Ecm, or you defined the problem incorrectly. In fact, one of those must be true, since if you take the example coefficients for i=100 and j=10 at the end of my worksheet and calculate y(Aa,Bb,Cc,Dd,X6[100,10)) you get a complex stress, which cannot be correct. That means either the conditions you imposed to find the coefficients are inconsistent with the data, the data is wrong, or the method used to calculate E06 and Ecm are wrong.

>The problem is
>that no matter how I try, it
>always ends with an error
>(doesn't calculate anything).
>In my first post, the file
>attached is an exemple that
>gave values for A, B, C and D
>for a particular value of X
>and Y.

No, you just thought it did. The syntax in your solve block is completely wrong. To Mathcad, what you wrote for your conditions is gibberish. Always check the answers! If you plug those coefficients for X.6[100,10 into your equation you get Y=-0.142, whereas Y.6[100,10 is 9.127*10^-4

It is easy enough to solve for the coefficients for a particular value of X and Y with an additional three constraints, not four (y=f(x) at a given y and x is already one constraint). Is that what you want? If so, which of the four current constraints do you want to get rid of?

Richard

On 4/30/2010 11:47:36 PM, adiaz wrote:
...
>You can't
>adjust a curve to some data and then try
>to modify the coefficients just to check
>some phisical deductions, that's cheat
>(actually Galileo, Newton and several
>others does that).
>
...

>Regards. Alvaro.
__________________________

That's what I have explained and exemplified previously, as well as Richard in other words. The derivative of an approximating function just does not come out by freaking the coefficients. But that was so clear in the work sheet attached before. In fact, what are the data set for ? are they data from "building code" that some inventive brain is trying to represent by formula ? It looks feasible but there isn't even a plot of the project ! A communal dead start

jmG



"Do it for each data column"
____________________________

Hard to see what c <6> represents.
As it looks, data should be sorted.
You have X, Y for the function, but what are they for the derivative ?
Derivative should fit some data that are missing .
Maybe the derivative is just "a derivative" ?

jmG

On 5/1/2010 8:41:11 AM, dvmoldovan wrote:
...
>So, just to give it another go

>each Y is a recorded stress
>for a given specimen
>each X ia a recorded strain
>for the same specimen
>The function that links them
>up is unknown. Therefore I
>assumed it may have the form Y
>= (A + B * X * X)/(1 + C * X +
>D * X * X). Now, A, B, C and D
>are determined for specific
>values of Y and the
>corresponding X and not for
>the whole range of Y and X and
>it is the values of the
>conditions at those values
>(only at those values) that
>define the coefficients
..................................
..................................
> Suggestions, are more
>than welcome!
>
>Kind regards, Dumitru
==========================

>each Y is a recorded stress
>for a given specimen
>each X is a recorded strain
>for the same specimen

==> NO, they are NOT ... the data are not collected sorted.
==> or if you pretend they are, then they are invalid from test.
==> related physical phenomenons can't disperse.

>The function that links them up is unknown.

==> that is then the very essence of the project.

>Therefore I assumed it may have the form
>Y = (A + B * X�)/(1 + C * X +D * X�)

==> You can't assume what you know nothing about beforehand.

>Now, A, B, C and D
>are determined for specific
>values of Y and the
>corresponding X and not for
>the whole range of Y and X and
>it is the values of the
>conditions at those values
>(only at those values) that
>define the coefficients

==>Nothing is determined from nothing in hand.
:::::::::::::::::::::::::::::::::::::::::::::::

The project starts here:

1. You must collect the 15 data set as 15 separate data X, Y as they are of variable length
3. I have done it for 3 of them between big red Marlett [qaz(2)]
4. Do all of them, using the manual setup ...
Steps 1 to 4 are in replacement of what you should have done correct from lab test.

Once you have in hand the 15 separate data pairs X's, Y's of variable length, plug them at the top of "Dumitru Viscoelastic". For each one of these data_0, 1.....15 you will have to plug 3 times the corresponding columns in Xd, Yd and for the residuals. For doing this, it's best to turn calculation OFF . Thus, in 15 Maxwell sessions you will collect each pairs of U, which 'U' is then the Maxwell Viscoelastic model c/w the Maxwell coefficients. At this point, you understand that the 15 experimental data sets are replaced by a single model of as many coefficients as each data set has rows.
The project ends there, i.e:
15 data sets of variable length replaced by a single model defined by 15 sets of 'U' Maxwell viscoelastic coefficients.

Hopefully the Maxwell model setup works for all 15 data sets.
You must realise that in this project, you are the "beton expert" and if you don't like the Maxwell viscoelastic model, then more collabs might offer a more appropriate model, or get it from other source pertaining to that field of Engineering. I have no more technical knowledge about concrete than "popular". In your project, I have done my best to square the moon with a chain saw... all yours now.

The next point is paramount about your project as I understand it:

Once you will have all the Maxwell viscoelastic coefficients, or as it seems directly from the data sets themselves, it is an easy task to run a "Mathcad Polyline" nice and smooth curve, meshed at will that you can further interpolate, thus freezing the project as per your lab test that can't be checked/confirmed in this collab.

jmG


... several data sets can't be interpreted.
Considering the "Load" is the independent variate and deformation is the dependent one, then sorting the data is not necessary and you have too many and that does not had any information to the physical phenomenon but I understand that with lot of data is will determine the "fracture" more accurately. Your "Load" measurements look disaster from very poor instrument. If the sorted would be of at least 3 decimals, there would be no appreciable difference between the discretized and the natural collection... but that is not so. Thus in this work, I have rejected "Load" and considered only the discretized range, you can see how much impact it does have on the final Maxwell viscoelastic coefficients.
The other point is that you were playing with the data before applying the model and correcting the "Load". What that means is that processing on erroneous data is the wrong approach. The last point is about the population of the data sets. Reduced sets of equal length for each experiment is desirable and as a guess, population of 100 pairs or even much less will represent the phenomenon.
So, the lab "Load" are definitely incorrect, it certain means the same for the "D"... project back to square 0. But this time with better equipment and much less data in order to compact the Maxwell viscoelastic project nicely as a printable document. Hard to explain such a variation in length 207 ... 1791 ?

jmG

On 5/2/2010 3:09:26 AM, dvmoldovan wrote:
...
>The Wang et al model
>(formulas used) is yet the
>most challenging since it is
>so difficult to get to the
>bottom line (A...D
>coefficients). Thanks again
>for Maxwell's model...

____________________________

Can you link to this material in reference ?

jmG



RichardJ
19-Tanzanite
(To:Dumitru)

On 5/1/2010 6:39:25 AM, dvmoldovan wrote:
>second step...automating
>(sorry for previous post -
>some problems attaching)

Why don't you bother to check your results actually work? If you plug A, B, C, D into your function for Y at that point you get Y=0.225. The actual value of Y is 9.127*10^-4. So, once again, your conditions are not consistent with your data and/or model. Of course, something you omitted to tell us was that your Y has actually been normalized to 0.01, not 1 as implied by your conditions, but even if you multiply the measured Y by 100 it's nowhere close to 0.225.

Is it true that each column of X and Y is a stress-strain curve for one sample? I wish you had made that clear from the start (or that I had realized it!)! That means, contrary to what you implied, A, B, C and D are not different for every point, but only for every column. In which case Alvaro is right. If the data is a stress-strain relationship with one column per sample then the right way to check the model is to fit the model to the data. It is possible to do it your way, but it's a very bad approach. All of that work was unfortunately just a big waste of time.

Alvaro fitted the entire data set, including the data after failure. If the model is only supposed to represent the data before failure, then you should only fit that part of the data.

Richard

On 5/2/2010 10:23:40 AM, rijackson wrote:

>Why don't you bother to check your
>results actually work? ...

I know that you know what can be done with the data and in which way. In the attached the same, but normalized as you discover the strange normalization in the computed values, and the observation that data is not sorted, at the point that there are negative values for the normalized X. I understand that the origin can be set to the arbitrio of the experimentator, but if always have a load, why take an origin which results in a change of sign in the deformation? So, can re-re-normalize substating the minimun to hold X in the range (0,1), but I don't do this in the attached.

Regards. Alvaro.
RichardJ
19-Tanzanite
(To:AlvaroDíaz)

On 5/2/2010 8:04:53 PM, adiaz wrote:

>I know that you know what can be done
>with the data and in which way. In the
>attached the same, but normalized as you
>discover the strange normalization in
>the computed values, and the observation
>that data is not sorted, at the point
>that there are negative values for the
>normalized X.

I don't know what you mean. There are no negative X values.

>I understand that the
>origin can be set to the arbitrio of the
>experimentator, but if always have a
>load, why take an origin which results
>in a change of sign in the deformation?

It doesn't change sign. Obviously I am missing what you are trying to say here 🙂

>So, can re-re-normalize substating the
>minimun to hold X in the range (0,1),
>but I don't do this in the attached.

I think the idea was to normalize the data so that (1,1) is the fracture point. If that was the intention then it's clearly not as simple as picking the point with maximum load though. Data set 2 shows clear evidence that the fracture starts before the maximum load is reached.

Richard

On 5/3/2010 10:17:47 AM, rijackson wrote:

>I don't know what you mean. There are no negative X values.

Inspecting some columns (X values) there are some non positive and less values, probably enough less to hold into the experiment uncertainly as positive. For example, for c=1 (first column data) displacements are 0, 0.6, 0.9, 0.7, 0.1, -3, -6.6 ... for loads 0,12.939, 12.886 ... and grow up. This makes first X-values change the sign.

There are a problem with the normalization, and it is that doing it the uncertainly is incremented by |err(max(Load))|, following the rule for errors propagation. Normalizing is an acceptable method just because the err of the maximun of the data it's assumed to be small, at least as the smallest relative error.

But an horizontal displacement before the division can increase the experimental error in a not approvable form.

Regards. Alvaro.
RichardJ
19-Tanzanite
(To:AlvaroDíaz)

On 5/3/2010 6:48:33 PM, adiaz wrote:
>On 5/3/2010 10:17:47 AM, rijackson
>wrote:

>I don't know what you mean.
>There are no negative X
>values.

Inspecting some columns (X
>values) there are some non positive and
>less values, probably enough less to
>hold into the experiment uncertainly as
>positive. For example, for c=1 (first
>column data) displacements are 0, 0.6,
>0.9, 0.7, 0.1, -3, -6.6 ... for loads
>0,12.939, 12.886 ... and grow up. This
>makes first X-values change the
>sign.

I see. You are looking at the D matrix. I would guess the machine just wasn't zeroed at the start of the experiment. If so, then it's just an arbitrary shift of the axis.

>There are a problem with the
>normalization, and it is that doing it
>the uncertainly is incremented by
>|err(max(Load))|, following the rule for
>errors propagation.

Scaling every point by the same number has no effect other than to scale the model parameters. If the normalization is necessary for the interpretation or subsequent use of the parameters then it may add error, but it is unavoidable. If it's not necessary, then I agree it should not be done.

Richard

>Scaling every point by the same number has no effect other than to scale the model parameters<<br> __________________________

It does for me on the last plot just attached.

On 5/3/2010 6:48:33 PM, adiaz wrote:
On 5/3/2010 10:17:47 AM, rijackson wrote:

::::::::::::::::::::::::::::::::::::

That's what I have explained and exemplified in the work sheets: there is no pressure applied, there is "pressure cycle applied". "Pressure cycles" up to this point out of the blue. And only few data sets are eventually defendable, others [that you can explore on my work sheets] are total garbage.
A lot of PP [Pain & Prestige] wasted.

On 5/2/2010 3:28:18 PM, dvmoldovan wrote:
>The attached is the latest
>form for my calculations.
>Since some mistakes have found
>there way in (I'm sorry again
>for that, only today I
>"discovered" them), I feel
>it's mandatory to correct
>them. Insired by the work of
>jmG (thanks) you'll find some
>graphs at the end...
>
>Kind regards, Dumitru
______________________________

Mathcad is essentially a 0 ORIGIN based tool. Changing ORIGIN to 1 will result in many collabs not even considering the project. If you have done too much maths in ORIGIN 1, don't expect collabs to make your maths work to accommodate their help in ORIGIN 0. Your plot are in the reverse order, i.e: the independent variable "Load" plots on the Cartesian X and the dependent variable [deformation] plots on the Cartesian Y. The way you plot is not visible by inspection and it has to be re-plotted. Your data are still very confusing. No matter how much I have done, nothing is correct on the ground that you don't apply linear "Load pressure" but on a ramp basis, and some "Load pressure" are totally non sense. That means that fitting will be lot more difficult if the independent experimental variable is not linear. Explore the next graph and check the data that must be rejected. Altogether, there may be only one data set needed, and here again why not linear "Load pressure". So, before any math processing, make sure to consider only one data set for only one specimen. Then decide about more specimen and either check the "Load" is correct or run the experiment again. But in any and all cases, you have too many values from lab test::: What you are doing with the ramp load, you are collecting [stacking] a fine and a coarse experimental data set and that is not correct because for analysis, the collection has to be reverse engineered, undoing what shouldn't have been done in the first place.

This project looks simple but it is upside down.

It could be that the rational fraction represents the viscoelastic model for concrete. It shouldn't be more difficult to solve than the simple Maxwell model. As it looks, you are applying a pressure cycle but of such bizarre shape. Why not a simple triangular cycle. That would render the project visible by inspection with no torture of the mind and eventually with a non mirror return of the decreasing load, the deformation might be meaningless.

"In this pressure cycle that does NOT make sense unless justified, it can be seen that the deformation has in some ways followed the pressure load. In simple words: the specimen experimented is 'elastic'. "

jmG



... this work sheet is for the first specimen data set. It makes sense, but you can see that lab testing requires some pre-knowledge of the response so to minimize the number of data pairs. You can decimate more and the entire response will be as informative than an over populated collection.

jmG
Top Tags