Note: This discussion is about an older version of the COMSOL Multiphysics® software. The information provided may be out of date.

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.

Problem with Two-STEP Solution

Please login with a confirmed email address before reporting spam

Hi,



I have a flexible axisymmetric cylinder. First, I want to stretch it in z-direction, and after getting the solution, I need to fix the two ends and pressurize inside the tube.

My approaches are:



1- Using two STEPs in my STUDY: the first STEP for stretching and the 2nd one for inflation.

2- Defining two physics (solid mechanics) with the same material properties. The differences are in the boundary conditions: in the first Physics, the ends can stretch apart and the inner and outer surfaces of the cylinder are FREE, but in the 2nd case, the ends are fixed and the inner surface is subjected to an internal pressure.

3- Under Solver Configuration, after adjusting the STEP 1 problem, I use STORE SOLUTION 2, then I add another solver for the STEP 2 (inflation).



In setting up each solver (such as in Compile Equations, Dependable Variables, etc.), I was careful to assign correct STUDY and STEP. Also, in the Dependent Variables of the 2nd Solver/Step, for Initial Values, I used SOLUTION method and I use the solution of Solver 1. I have tried both "Use: Current" and "Use: Store Solution 2", and I got the same results.



Although I do not get any error, and my stretch step works fine, apparently inflation does not take place. Any idea how to fix that? Also, do I really need two Physics to do this or I can do it by one physics too?



I have attached my file if you would like you take a look at it.



Thank you


5 Replies Last Post Apr 11, 2012, 2:48 p.m. EDT
Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Jan 24, 2012, 2:29 a.m. EST
Hi

indeed I believe you can do it easier in 1 physics with a "parameter", so if you want to stretch it first and then inflate it try something like:

delete fully your solid2, remove or keep disabled your other currently disabled BCs

Global Definition right-click Parameter define a parameter Param = 0

Add a Boundary load on the internal edge (as you had it in the 2nd solid) and write
Pressure = 25000*(Param-1)*(Param>1)

Edit your Prescribed displacement and write Z direction 0.003*(Param*(Param<1)+(Param>1))

Solver node, delete the "inflation solver, edit the stretching solver: Extension Continuation select Param and give a value set to:
range(0,0.2,2)

now (if I haven't made any typos ;) you should get a stretching for Param going from 0 to 1 and a further inflation for Param going from 1 to 2.

You can also use if() operator or Definition functions step, rectangle etc for the boolean expressions

--
Good luck
Ivar
Hi indeed I believe you can do it easier in 1 physics with a "parameter", so if you want to stretch it first and then inflate it try something like: delete fully your solid2, remove or keep disabled your other currently disabled BCs Global Definition right-click Parameter define a parameter Param = 0 Add a Boundary load on the internal edge (as you had it in the 2nd solid) and write Pressure = 25000*(Param-1)*(Param>1) Edit your Prescribed displacement and write Z direction 0.003*(Param*(Param1)) Solver node, delete the "inflation solver, edit the stretching solver: Extension Continuation select Param and give a value set to: range(0,0.2,2) now (if I haven't made any typos ;) you should get a stretching for Param going from 0 to 1 and a further inflation for Param going from 1 to 2. You can also use if() operator or Definition functions step, rectangle etc for the boolean expressions -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Jan 25, 2012, 1:14 p.m. EST
Hi Ivar,

Thank you very much for your help. It was a great help. The only thing that I needed to add was a constraint (a Prescribed Displacement) in r-direction, otherwise, the vessel will freely move around. So where you said to constrain my Z as 0.003*(Param*(Param<1)+1*(Param>1)), I added solid.U01*(Param<=1)+ 0*(Param>1) to the r-direction. I meant, initially there will be no constraint at the ends and the ends can freely move, but after that they should be held fixed while the cylinder is inflated. But I was not sure whether I need to explicitly define anything for free movement of the ends (Param<=1); so I used solid.U01 which I don't think is correct.
Do I need to specify anything for that?

Your comment is appreciated.
Hi Ivar, Thank you very much for your help. It was a great help. The only thing that I needed to add was a constraint (a Prescribed Displacement) in r-direction, otherwise, the vessel will freely move around. So where you said to constrain my Z as 0.003*(Param*(Param1)), I added solid.U01*(Param1) to the r-direction. I meant, initially there will be no constraint at the ends and the ends can freely move, but after that they should be held fixed while the cylinder is inflated. But I was not sure whether I need to explicitly define anything for free movement of the ends (Param

Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Jan 25, 2012, 4:44 p.m. EST
Hi

I'm not sure you can loop the variables around like that solidU01 is where COMSOL copies your "r" prescribed displacement, so like that I suspect you get a circular dependency if you add solid.U01 in your equation

If you do not define anything it's free to move, if you know where it will move you should write out that equation, some way as for Z, but if you want a mixture, you need to have two study steps, with a manual intervention, or some clever trick, if you have 2 Param1 and Param2, one per study and then combine these to have the a clever condition, but you must teak the COMSOL equations in the "equation" view, you cannot get in via the BC window (perhaps in a general expression, not sure)

All that need some more thoughts (I would need to "sleep over it" it's getting late for me) we will see what tomorrow brings in ;)

--
Good luck
Ivar
Hi I'm not sure you can loop the variables around like that solidU01 is where COMSOL copies your "r" prescribed displacement, so like that I suspect you get a circular dependency if you add solid.U01 in your equation If you do not define anything it's free to move, if you know where it will move you should write out that equation, some way as for Z, but if you want a mixture, you need to have two study steps, with a manual intervention, or some clever trick, if you have 2 Param1 and Param2, one per study and then combine these to have the a clever condition, but you must teak the COMSOL equations in the "equation" view, you cannot get in via the BC window (perhaps in a general expression, not sure) All that need some more thoughts (I would need to "sleep over it" it's getting late for me) we will see what tomorrow brings in ;) -- Good luck Ivar

Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Jan 26, 2012, 1:53 a.m. EST
Hi again
this morning I have come to the following;)
your hyper elastic material, in 2D axi is constrained to the lower side by a symmetry, which is equivalent to a "roller" condition, fixed in Z, and "u" normal to the R axis, but on the upper part you push and pull, then block it and "inflate" as second step.

You have a prescribed motion along Z for the top BC and a few possibilities for the R motion:

1) your hyperelastic material is attached (glued) to a solid cylinder, so with the cylindrical symmetry you are left only with a vertical Z motion, and in fact you should write dr=0 for both steps as the object you pull is "solid" in 2D-axi. the rest of the material deforms from the material properties and load case, no difference for stretch and inflate (apart you need to block the Z motion for the inflation with the formula I gave above

2) you have a theoretical problem, your upper BC moves in Z and r in a know way: you write an equation for both dz and dr and keep it fixed during the inflation period

3) you really want to have the upper BC move in a prescribed way along Z during stretching, but leave it deform in dr from the material properties, but then you need to fix it at its last position for the inflation phase. For me this is a rather non-physical BC but why not (in the sense that your BC you use to pull is first a soft material, then become rigid during the inflation step, but OK theoretical possible). In this case you have two different BC for each step, fist "free" in the stretch phase and then prescribed to the final value (and not "0")
This I would do manually in two steps, a first study for the stretching with no condition on dr. Then I would remesh, based on the deformed shape, use the initial conditions from the first solution to be loaded as starting point to the second stationary solver step (to get initial stress and other related values), and apply a dr=0 condition on the top BC. I'm not sure how to automate this, today) as we cannot (yet) drive the BC's from the solvers (switch enable/disable BC) nor I believe ask for a remesh after a first study as a sub node in the solver tree (but we can link automatic or adaptive remeshing during a solver, and we can manually ask for a remesh after a solution in the mesh nodes (right click on Data Set)

--
Good luck
Ivar
Hi again this morning I have come to the following;) your hyper elastic material, in 2D axi is constrained to the lower side by a symmetry, which is equivalent to a "roller" condition, fixed in Z, and "u" normal to the R axis, but on the upper part you push and pull, then block it and "inflate" as second step. You have a prescribed motion along Z for the top BC and a few possibilities for the R motion: 1) your hyperelastic material is attached (glued) to a solid cylinder, so with the cylindrical symmetry you are left only with a vertical Z motion, and in fact you should write dr=0 for both steps as the object you pull is "solid" in 2D-axi. the rest of the material deforms from the material properties and load case, no difference for stretch and inflate (apart you need to block the Z motion for the inflation with the formula I gave above 2) you have a theoretical problem, your upper BC moves in Z and r in a know way: you write an equation for both dz and dr and keep it fixed during the inflation period 3) you really want to have the upper BC move in a prescribed way along Z during stretching, but leave it deform in dr from the material properties, but then you need to fix it at its last position for the inflation phase. For me this is a rather non-physical BC but why not (in the sense that your BC you use to pull is first a soft material, then become rigid during the inflation step, but OK theoretical possible). In this case you have two different BC for each step, fist "free" in the stretch phase and then prescribed to the final value (and not "0") This I would do manually in two steps, a first study for the stretching with no condition on dr. Then I would remesh, based on the deformed shape, use the initial conditions from the first solution to be loaded as starting point to the second stationary solver step (to get initial stress and other related values), and apply a dr=0 condition on the top BC. I'm not sure how to automate this, today) as we cannot (yet) drive the BC's from the solvers (switch enable/disable BC) nor I believe ask for a remesh after a first study as a sub node in the solver tree (but we can link automatic or adaptive remeshing during a solver, and we can manually ask for a remesh after a solution in the mesh nodes (right click on Data Set) -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago Apr 11, 2012, 2:48 p.m. EDT
Dear All,

I've just started using Comsol and I'm facing some problems regarding using stored solutions as a boundary conditions for the next step.
What I would like to do is to simulate a pressing step of a multilayered composite with different elastic moduli. So far, I have managed to do the first step but I got an error message when trying to define the initial conditions of the following step as the stored solution. I want to see how the multilayered material will relax upon releasing of the load. As the substrate is much softer than the top layers, I expect to see a sort of bending when the force that is applied in the first step is removed.
I'm attaching my model and any help will be greatly appreciated. Sorry for my limited knowledge in finite element analysis. I'm currently using Comsol v.4.2.
Thank you very much in advance for your help.

Rafael
Dear All, I've just started using Comsol and I'm facing some problems regarding using stored solutions as a boundary conditions for the next step. What I would like to do is to simulate a pressing step of a multilayered composite with different elastic moduli. So far, I have managed to do the first step but I got an error message when trying to define the initial conditions of the following step as the stored solution. I want to see how the multilayered material will relax upon releasing of the load. As the substrate is much softer than the top layers, I expect to see a sort of bending when the force that is applied in the first step is removed. I'm attaching my model and any help will be greatly appreciated. Sorry for my limited knowledge in finite element analysis. I'm currently using Comsol v.4.2. Thank you very much in advance for your help. Rafael

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.