Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.

A question about ramp function in the "deep excavation" example

Please login with a confirmed email address before reporting spam

Hi all,

In the ramp function in this example, the slope is defined as S_strut/U_max which has the unit of N/m^2, and the location is -U_max. However, when it is used as the force on struts, it has the form of -rm1(-u[1/m])*Depth<Stage_1,2,3 and the unit of N. Why are the units not compatible?!

Thanks, Ramin


4 Replies Last Post Jun 4, 2018, 7:11 a.m. EDT
Magnus Ringh COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 6 years ago Jun 1, 2018, 4:50 a.m. EDT

Hi,

Functions expect dimensionless inputs and provide dimensionless outputs. Also, the slope in the ramp function is dimensionless, so even if the provided value has a physical dimension and unit, it is its numerical value that is used in the ramp function.

Best regards, Magnus Ringh, COMSOL

Hi, Functions expect dimensionless inputs and provide dimensionless outputs. Also, the slope in the ramp function is dimensionless, so even if the provided value has a physical dimension and unit, it is its numerical value that is used in the ramp function. Best regards, Magnus Ringh, COMSOL

Henrik Sönnerlind COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 6 years ago Jun 1, 2018, 9:20 a.m. EDT

Hi Ramin,

Even though the ramp function itself removes the units, its implied dimensions are, as you have noticed, quite obscure. Note also that as the model is in plane strain and the thickness has the default value, we are computing for a 'slice' which is 1[m] in the depth direction. It is not explcitly mentioned in the problem how far it is between the struts in the depth direction, so the stiffness must be considered as some kind of 'per meter' average.

Also it would be cleaner to use a Spring Foundation than a displacement dependent Boundary Load here.

We will improve the model in these respects for the next version.

Thanks for your feedback,
Henrik

-------------------
Henrik Sönnerlind
COMSOL
Hi Ramin, Even though the ramp function itself removes the units, its implied dimensions are, as you have noticed, quite obscure. Note also that as the model is in plane strain and the thickness has the default value, we are computing for a 'slice' which is 1[m] in the depth direction. It is not explcitly mentioned in the problem how far it is between the struts in the depth direction, so the stiffness must be considered as some kind of 'per meter' average. Also it would be cleaner to use a **Spring Foundation** than a displacement dependent **Boundary Load** here. We will improve the model in these respects for the next version. Thanks for your feedback, Henrik

Please login with a confirmed email address before reporting spam

Posted: 6 years ago Jun 1, 2018, 10:17 a.m. EDT

Hi Ramin,

Even though the ramp function itself removes the units, its implied dimensions are, as you have noticed, quite obscure. Note also that as the model is in plane strain and the thickness has the default value, we are computing for a 'slice' which is 1[m] in the depth direction. It is not explcitly mentioned in the problem how far it is between the struts in the depth direction, so the stiffness must be considered as some kind of 'per meter' average.

Also it would be cleaner to use a Spring Foundation than a displacement dependent Boundary Load here.

We will improve the model in these respects for the next version.

Thanks for your feedback,
Henrik

Thanks a lot for your response.

So, you are saying that the distance in the depth direction is that U_max that we have in the denominator of the slope part?! Because otherwise, based on the definition of the ramp function (For an input variable s, a start location s0, and a slope k, the ramp function’s value is 0 for s < s0 and k(s−s0) for s ≥ s0), the slope must be axial stiffness of struts (S_struts) since the axial force would be stiffness times elongation. Am I missing sth?!

Also, I think there is kinda difference between your response and the gentleman's who responded before you (Magnus). Since in your point of view, I believe, we are kinda considering the units.

Thank you very much for your time. Regards, Ramin

>Hi Ramin, > >Even though the ramp function itself removes the units, its implied dimensions are, as you have noticed, quite obscure. Note also that as the model is in plane strain and the thickness has the default value, we are computing for a 'slice' which is 1[m] in the depth direction. It is not explcitly mentioned in the problem how far it is between the struts in the depth direction, so the stiffness must be considered as some kind of 'per meter' average. > >Also it would be cleaner to use a **Spring Foundation** than a displacement dependent **Boundary Load** here. > >We will improve the model in these respects for the next version. > >Thanks for your feedback, >Henrik Thanks a lot for your response. So, you are saying that the distance in the depth direction is that U_max that we have in the denominator of the slope part?! Because otherwise, based on the definition of the ramp function (For an input variable s, a start location s0, and a slope k, the ramp function’s value is 0 for s 

Henrik Sönnerlind COMSOL Employee

Please login with a confirmed email address before reporting spam

Posted: 6 years ago Jun 4, 2018, 7:11 a.m. EDT

Hi Ramin,

If we start by the units, the ramp function is unitless. But when using it, its values must still be interpreted as being in the model's base unit system.

Assume that the function evaluates to 100. If it is used in a text field where [N] is expected, it would be interpreted as 100[N]. If we use it in a text field where [Pa] is expected, it would be interpreted as 100[Pa]. This is also the reason that there is no unit warning (= orange text) in the model. In any text field you can either enter values without unit, in which case the assumption is that you have a value in the models base units, or a value or variable having units, in which case units must match and can be automatically converted. If you enter 1[MPa] as pressure in a text field, this is the same as entering 1E6 without units (assuming the default SI system).

The usage of the ramp function here is obscure, but essentially safe. If you change the unit system, the values of the parameters defining the slope would change, and the function will evaluate to another value.

Now to the physical part of the problem. The slope is defined in a erroneous way, as you suspect. If we stay as close as possible to the current approach (using a Spring Foundation would be better) then an appropriate setting could be

  1. Define a new parameter 'struts_per_meter', as for example 4
  2. Increase the parameter A_struts to 150[cm^2]
  3. Define the slope in the ramp function as -S_struts*struts_per_meter

As a side note, there support should rather come from anchors than struts in this geometry (both for practical and buckling reasons), but that would not change the mathematical formulation, as long as not the interaction between anchors and soil is taken into account.

Regards, Henrik

-------------------
Henrik Sönnerlind
COMSOL
Hi Ramin, If we start by the units, the ramp function is unitless. But when using it, its values must still be interpreted as being in the model's base unit system. Assume that the function evaluates to 100. If it is used in a text field where [N] is expected, it would be interpreted as 100[N]. If we use it in a text field where [Pa] is expected, it would be interpreted as 100[Pa]. This is also the reason that there is no unit warning (= orange text) in the model. In any text field you can either enter values without unit, in which case the assumption is that you have a value in the models base units, or a value or variable having units, in which case units must match and can be automatically converted. If you enter 1[MPa] as pressure in a text field, this is the same as entering 1E6 without units (assuming the default SI system). The usage of the ramp function here is obscure, but essentially safe. If you change the unit system, the values of the parameters defining the slope would change, and the function will evaluate to another value. Now to the physical part of the problem. The slope is defined in a erroneous way, as you suspect. If we stay as close as possible to the current approach (using a Spring Foundation would be better) then an appropriate setting could be 1. Define a new parameter 'struts\_per\_meter', as for example 4 2. Increase the parameter A\_struts to 150[cm^2] 3. Define the slope in the ramp function as -S\_struts\*struts\_per\_meter As a side note, there support should rather come from anchors than struts in this geometry (both for practical and buckling reasons), but that would not change the mathematical formulation, as long as not the interaction between anchors and soil is taken into account. Regards, Henrik

Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.