3
$\begingroup$

I have a library of 2D data sets (force versus displacement graphs) for different materials. Usually, a customer/user gives me a force vs displacement graph for their part behaviour. I would search my library and tell them which material force vs displacement graph is closer and hence it is better to use that material for the part.

What do I mean by "close"?

  1. Two graphs should always have an overlapping displacement domain (at least tiny bit). If there is no overlap there is no point in comparison.

    Physical explanation : If the customer part has a displacement range of 0 to 10 mm, then there is no point in looking at materials that have displacement range 11 to 50 mm.

  2. It is preferred to have a force greater than or equal to the input force for a displacement, as designing the part with a material that can withstand a smaller force will definitely break it.

I have to write a program that takes a 2D data set, the aforementioned force (y axis) versus displacement (x axis), compare it with around 600 2D data sets and find the closest data set to the input data.

The 2D data sets are non-parametric and independent, i.e. have no kind of distribution nor share same values/interval $\Delta x$ for X-coordinates within a data set or between two data sets. All the data sets (including input data set) either have positive or negative slope.

I plotted 3 of 600 data sets just for reference.

enter image description here

What statistical parameters should be compared? What statistical tests should I use?

$\endgroup$
2
  • 2
    $\begingroup$ 1) How exactly is "closest" defined? 2) You mentioned that the goal is to find the closest dataset in the collection. Based on the information given, I'm not sure I see why any kind of statistical test would be necessary. Perhaps you could elaborate on this--what would you be testing and why? $\endgroup$
    – user20160
    Commented Jan 6, 2020 at 18:35
  • $\begingroup$ I have added the necessary details in the question @user20160 $\endgroup$
    – AccGen
    Commented Jan 7, 2020 at 9:37

2 Answers 2

1
$\begingroup$

What confuses me is the clarification of the problem. The task seems to be to find a material that suits a particular required stress-strain curve. However these curves depend also on the shape and size of the 'part' and not just the material that it is made of. So, searching a database for a curve that is closely matching the required characteristic doesn't mean that the material of that found curve is the right choice. For example some found curve (that closely matches the required curve) could have some desired high tension, but not due to a strong material, and instead due to a thick/large part size.

So first of all this comparison requires a database of some standardized tests with equal shaped simple parts (like a flat bar where all parts experience similar/homogeneous stress) whose stress-strain curves you can feed as input to a physical model (e.g. a FEM computational model) that transforms the stress-strain behaviour of the material (when measured under homogenous stress/strain) into a stress-strain behaviour of a complex part where different regions of the part experience different amounts of stress and strain.

Second, you need selection criteria for selecting different types of materials. This requires domain knowledge. Potentially you have several materials that would be good but are lacking in different ways (what to choose? a statistician doesn't know that). Some material might give the right shape of stress strain-curve but not the right intensity (and a slightly thicker or thinner part would solve this), another material might give the right overal intensity but not the exact same shape/behaviour (this sounds ideal, but possibly the option of slightly changing the part with better results is more desirable). Different types of design considerations might be at stake here and you could offer multiple suggestions like the curve with the best shape, the curve with the best average behaviour, and giving different weight for different parts of the curve (e.g. curves that best match the central part or curves that best match low stress or high stress).

If you have 600 materials, then computing the FEM computational model a 600 times might be requiring too much computation time. It is a while ago that I did this myself (computations with FEM), and maybe nowadays this is computed within a few seconds and you don't have to care about it, but still, for the sake of being complete: You can create some algorithm that eliminates several materials directly without modeling the stress-strain curve for the part. If some material with average strength is already too strong, then you don't need to compare other materials that have higher strength.

$\endgroup$
0
$\begingroup$

Since we can assume that displacement is a continuous, at least locally differentiable function of force, proving overlap of the two lines requires that:

$$ \min(ref) \le \min(opt) < \max(ref) \\ \&\&\\ \min(ref) < \max(opt) \le \max(ref) $$

Where $opt$ is (one of) your material's and $ref$ is the client's reference material's displacement domains, which is a fairly straightforward check. Note that you don't even need to have the coordinates match up on both domains, you just need the endpoints!


For the similarity, first off, since you favor stronger materials, we'll need an asymmetric loss to reflect that.

Second off, the relevant bit is how the material responds to force, and whether it can perform well enough for the client's spec.

So, the 'natural' slopes to calculate are actually the ones given by $\frac{X_N-X_{N-1}}{Y_N-Y_{N-1}}$ instead of the other way round, which is how you would usually function graphs.

To deal with the potential coordinate mismatch, I would suggest that the target we use for comparison is something that doesn't depend on them, and that that something could be the Lebesgue integral (i.e. 'vertical bar area') of the curves clipped to the reference material's range.

If we pretend the slopes are perfectly linear as far as we care, that area is the sum of all the small triangles formed by the slopes times their span, plus the area of each remaining rectangle. In practice, this would be:

$$ \sum_1^N (0.5 \times \frac{X_N-X_{N-1}}{Y_N-Y_{N-1}}\times(Y_N-Y_{N-1})) + ((X_N-X_{N-1})*(\max(Y_{ref})-(Y_N-Y_{N-1}))) $$

If the material we propose has a starting point above that of the client's, we'll also need to backfill the first rectangle for its area by adding a single $\min(X_{opt})\times\max(Y_{ref})-(Y_0-\min(Y_{ref}))$.

Note that since we flipped the graph, the higher, the weaker the material, i.e. the more it yields to force.

Now, we have just two scalars, so it's just a matter of defining how exactly you want the loss to behave. There's a couple of options, e.g.

$$L(opt) = |A_{opt}-A_{ref}| + \max(0, (A_{opt}-A_{ref}))$$ or $$L(opt) = \left\{ \begin{aligned} |A_{opt}-A_{ref}|, \hspace{5mm}&\text{if } (A_{opt}-A_{ref}) < 0\\ (A_{opt}-A_{ref})^2, \hspace{5mm}&\text{otherwise} \end{aligned} \right. $$ The material that is the closest in the displacement response is the one with minimum loss. Note that I got lazy in that integration, since in theory you could have some negative nonlinearities in the displacement function, which would mean you have to calculate trapezoids.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.