0
$\begingroup$

Due to reasons, I cannot fully describe the process explicitly so I will be using substitutes to represent the variables.

Nomenclature:

$\bar{X}$ - independent variable 1

$\bar{Y}$ - independent variable 2

$\vec{F_z}$ - Target force vector

$\vec{F_z'}$ - New force vector

These vectors are the size of 1 x n

For example: n of 4

$\bar{X}$ = [${x_1}$ ${x_2}$ ${x_3}$ ${x_4}$]

$\bar{Y}$ = [${y_1}$ ${y_2}$ ${y_3}$ ${y_4}$]

$\vec{F_z}$ = [${F_{z1}}$ ${F_{z2}}$ ${F_{z3}}$ ${F_{z4}}$]

$\vec{F_z'}$ = [${F_{z'1}}$ ${F_{z'2}}$ ${F_{z'3}}$ ${F_{z'4}}$]

Goal: \begin{equation} \bar{F_z'} = f(\bar{X},\bar{Y}) \end{equation}

\begin{equation} \bar{F_z'}-\bar{F_z} < |0.1| \end{equation}

Each individual Fz' must be within 10% of its respective Fz such as Fz'1 & Fz1.

Constraints

  • The value of for $x$ is explicitly defined. A fixed set. example: {55500 44751 321548 ...} - The value for $y$ is within $-0.1<y<0.1$ with 0.001 as the min increments.

Difficulty

  1. Given that the relationships come from an FEA tool though the analysis itself is linearly static, the interactions between the locations and their effects on Fz' may not fit cleanly into a linear matrix framework.
  2. The couplings between locations complicates the problem. Such that change x or y or both in location 1 could affect the value for Fz' at other locations.

I was wondering if anyone has an idea on how to tackle this problem. I want to see if there's a mathematical way of solving this. Originally, I wanted to solve this through linear algebra, but the relationship between Fz and $x$ is most definitely nonlinear. The brute force iterative methods would be very computationally expensive.

My goal is to find a way to converge the solution and automate the process with code.

Please let me know what you guys have in mind.

Thank you guys for your help.

I'm not sure if this is considered an optimization problem as my knowledge in mathematics is fairly limited.

I apologize if it's not what you have expected. Once again, appreciate your time.

My goal is to deduce a way to calculate the new X_bar and Y_bar and try to converge to a solution with the least number of iterations.

-Zhihao Liu enter image description here

$\endgroup$
3
  • $\begingroup$ I’m voting to close this question because it is better posted on Mathematics. $\endgroup$
    – Solar Mike
    Commented Sep 15, 2023 at 4:55
  • $\begingroup$ Sorry about that. The nature of the work is related to structural engineering but I couldn't disclose it. I will post on mathematics instead. $\endgroup$
    – lone_coder
    Commented Sep 15, 2023 at 6:00
  • $\begingroup$ @lone_coder It it is just a particular case that you cannot disclose, maybe you could come up with some similar problem, for which same solution techniques should be applicable. With a concrete example, I think this question might fit here. As it is now, I would agree with Solar Mike, that it is better suited for Mathematics. $\endgroup$ Commented Sep 16, 2023 at 8:15

2 Answers 2

0
$\begingroup$

Have you looked at how nonlinear FEA works? The solution has to be iterative and you just need to solve linear system repeatedly with some corrections (usually of the stiffness matrix) between the iterations. Newton Rhapson method is used most often, but you can also use Picard method which is less complex.

Newton Rhapson method updates stiffness but also starts at displacements from previous iteration. On the other hand, Picard method basically just corrects stiffness matrix, so that in the end, you will get the nonlinear solution (with desired accuracy) in just one solution of the system of linear equations (using coefficients from the modified stiffness matrix). In many cases the correction in Picard method is just application of rule of three (especially for 1D elements).

$\endgroup$
0
$\begingroup$

This is an optimization problem, or a root finding problem of the non-linear function $$f(y) = F_z(y) - F_z' =0 $$

Since this is an FEA-based function, you do not have an analytical expression of the Jacobian matrix $$J(y) = \frac{ \partial f }{\partial y}$$ which means you would have to estimate it by performing at least $(n+1)$ FEAs near each solution point $y$ (with $n$ components). There would be set like

$$\begin{aligned}\boldsymbol{Y}_{0} & =\begin{pmatrix}y_{1}\\ y_{2}\\ y_{3}\\ y_{4} \end{pmatrix} & \boldsymbol{Y}_{1} & =\begin{pmatrix}y_{1}+\Delta y_{1}\\ y_{2}\\ y_{3}\\ y_{4} \end{pmatrix} & \boldsymbol{Y}_{2} & =\begin{pmatrix}y_{1}\\ y_{2}+\Delta y_{2}\\ y_{3}\\ y_{4} \end{pmatrix} & \cdots\end{aligned} $$

the results of each FEA should organized as

$$\begin{aligned}\boldsymbol{F}_{0} & =\begin{pmatrix}f_{1}\\ f_{2}\\ f_{3}\\ f_{4} \end{pmatrix} & \boldsymbol{F}_{1} & =\begin{pmatrix}f_{1}+\Delta f_{1,1}\\ f_{2}+\Delta f_{1,2}\\ f_{3}+\Delta f_{1,3}\\ f_{4}+\Delta f_{1,4} \end{pmatrix} & \boldsymbol{F}_{2} & =\begin{pmatrix}f_{1}+\Delta f_{2,1}\\ f_{2}+\Delta f_{2,2}\\ f_{3}+\Delta f_{2,3}\\ f_{4}+\Delta f_{2,4} \end{pmatrix} & \cdots\end{aligned}$$

This can be used to estimate the elements of the Jacobian matrix ${\rm J}$ which is defined as

$$\Delta\boldsymbol{F} = {\rm J}\;\Delta\boldsymbol{Y} $$

with components

$${\rm J}=\begin{bmatrix}\tfrac{\Delta f_{1,1}}{\Delta y_{1}} & \tfrac{\Delta f_{2,1}}{\Delta y_{1}} & \cdots\\ \tfrac{\Delta f_{1,2}}{\Delta y_{1}} & \tfrac{\Delta f_{2,2}}{\Delta y_{1}}\\ \tfrac{\Delta f_{1,3}}{\Delta y_{1}} & \tfrac{\Delta f_{2,3}}{\Delta y_{1}}\\ \tfrac{\Delta f_{1,4}}{\Delta y_{1}} & \tfrac{\Delta f_{2,4}}{\Delta y_{1}} \end{bmatrix}$$

where each column corresponds to each FEA that varies the input by one component, and each row is the change is each result component.

Now you need to slowly iterate in order to reach the solution goal of $$\boxed{ \boldsymbol{F}+\Delta\boldsymbol{F}=0 } $$

the solution of is the Newton Raphson method with numerical estimate

$$\Delta\boldsymbol{Y}=-{\rm J}^{-1}\,\boldsymbol{F}$$

$\endgroup$
2
  • $\begingroup$ Hi John thank you so much for your explanation. Is it possible to reach out to you personally? I have some more details I would like to share and perhaps get some more clarifications as I'm not familiar with numerical methods. $\endgroup$
    – lone_coder
    Commented Jun 27 at 5:13
  • $\begingroup$ @lone_coder - you can DM me via LinkedIn from my profile. But I won't be able to answer until the end of July maybe. $\endgroup$ Commented Jul 6 at 21:58

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