Skip to main content
13-Aquamarine
December 16, 2025
Solved

Symbolic solver unit conversion with further substitution

  • December 16, 2025
  • 1 reply
  • 2687 views

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)

Ivan_Pat_0-1765875279227.png

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)

Ivan_Pat_1-1765875431392.png

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?

Ivan_Pat_2-1765875677338.png

 

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.

Ivan_Pat_1-1765882285970.png

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.

Ivan_Pat_0-1765882122108.png

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.

 

Best answer by LucMeekes

The best way of using the symbolic solver is to use it with symbols only. That is:

- Do NOT use units.

- Do NOT use floating point numbers ( integers are OK, instead of 0.5 use 1/2, instead of 1.414... use √2 ).

It means that any variables you use in the symbolics are not assigned a (numeric) value.

To obtain numerical results, you best assign the result of the symbolics to a function of all required variables and call that function with the numeric values, including their units.

So instead of:

LucMeekes_0-1765890859949.png

do:

LucMeekes_1-1765890898351.png

Oh, and in case you are not interested in the symbolic solution, and you just want a numeric solution, then use a numeric solver (solve block, root() function or other suitable numeric function) instead of a symbolic one.

 

Success!
Luc

1 reply

LucMeekes23-Emerald IVAnswer
23-Emerald IV
December 16, 2025

The best way of using the symbolic solver is to use it with symbols only. That is:

- Do NOT use units.

- Do NOT use floating point numbers ( integers are OK, instead of 0.5 use 1/2, instead of 1.414... use √2 ).

It means that any variables you use in the symbolics are not assigned a (numeric) value.

To obtain numerical results, you best assign the result of the symbolics to a function of all required variables and call that function with the numeric values, including their units.

So instead of:

LucMeekes_0-1765890859949.png

do:

LucMeekes_1-1765890898351.png

Oh, and in case you are not interested in the symbolic solution, and you just want a numeric solution, then use a numeric solver (solve block, root() function or other suitable numeric function) instead of a symbolic one.

 

Success!
Luc

Ivan_Pat13-AquamarineAuthor
13-Aquamarine
December 16, 2025

@LucMeekes 

Hi Luc,

Maybe you can assist with my next question:

Ivan_Pat_0-1765915103111.png

I guess that it is impossible for Mathcad, but I still ask:

Whether I want to obtain a symbolic result with a condition that contains the desired variable, can this be realised somehow in Prime?

It is crucial because if my symbolically derived value of epsilon_c2 leads the highlighted equation to a value greater than f_yd, it must be readjusted. ( I hope the SOLVE block will give me the chance to eliminate iterations with WHILE and FOR loops...😒

 

Sorry for annoying you. Knowing that I almost got to the point of resolving the issue, but embedding my condition in compliance with Mathcad syntax is hardcore...It really makes me crazy.
Maybe there are more tricky methods to get the correct value of epsilon_c2 that satisfies the condition???

Prime 10.0.0.0 file is attached. 

 

25-Diamond I
December 22, 2025

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