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.
Moving mesh
Posted 24 gen 2012, 04:42 GMT-5 13 Replies
Please login with a confirmed email address before reporting spam
I have a simple axisymmetric model. I have a rectangle and I am using a moving mesh (attached the geometry). The boundary conditions are:
Boundary 1 (Prescribed mesh displacement)
√ dr 0
dz free
Boundary 2 (Prescribed mesh displacement)
dr free
√ dz 0
Boundary 3 (Prescribed mesh displacement)
dr ???????
dz free
Boundary 4 (Prescribed mesh displacement)
dr ???????
dz free
I want tthat boundary 3 and 4 move in r direction until the following equation is fulfilled in each point of these boundaries:
1000*R<2000*Z
How can I do this?
Thank you very much in advance
JL
Please login with a confirmed email address before reporting spam
how do you drive your variation of 3&4 in the "r" direction, if you have a Param going from 0 to 1, then you could try
something like dr = (R_final - R_start) * Param
be sure that expansion is coherent with the boundary of the boundaries, i.e. the end points of a line or edges of a surface, as these might not be allowed to "move"
--
Good luck
Ivar
Please login with a confirmed email address before reporting spam
Firstly, thank you for answering my question. However, I have some question.
1) I guess that when you write Param you mean Parameters. But, what has to be the expressión of this parameter?
2) Which is the meaning of R_final? This is not the value that i am looking for?
3)Where i have to implemet 1000*R<2000*Z?
Thanks
JL
Please login with a confirmed email address before reporting spam
for me Param is the name of the Parameter I have defined (initially to 0)
then I assumed, but I might be wrong, that you wanted to have your boundary grow with this parameter, that you can call in a steady state solver extension - continuation
I might have missed your variables definitions: for me R was a variable to scale for and Z a spatial coordinate, my formula was scanning from a R_start starting value and a R_final ending value
Rereading you again, I recognised I can have missed something, as you do not explain what is driving your ALE expansion.
If that is a external physics displacement and you want to apply a variable stop condition (in geometricval coordinates R and Z), you are in a "contact case" you should define a contact geometry (with an offset to allow your ALE mesh to exist to avoid any topology change)
--
Good luck
Ivar
Please login with a confirmed email address before reporting spam
i have attached my numerical simulation and i am going to try to explain better my problem.
I have a geometry composed of 3 domain. wire, air and charge. I have use 2 physicss: mangetic field for alll domains and the moving mesh only from the the charge. As a consequence of the magntic field generated by the wire, there will be a external forces that will move the charge in -x direction. The valuee of this forces are not importants.
So, i know the boundaries 6 and 8 (sorry for changing the numbers of the boundaries) will move in -x direction. I am interested in this displacement. So,i want that both 6 and 8 boundaries will be moved until the expressión 1000*r<2000*z will be filled in each point of these boundaries (understanding r and z the spatial coordinates of each points).
I don`t know if i have explained correctly.
Thanks you in advance
JL
Attachments:
Please login with a confirmed email address before reporting spam
I'm not sure you can do it like that, I believe you must study your model a bit more:
if you want to deform boundary 8 (with ale on the domain to the to the let and stiff immobile mesh to the right => you have an issue with your logic). From my understanding you need to have both air and Ti as ALE
then again what is driving the deformation, a force ?. OK but how is that applied to the mesh ? the air is certainly not influenced by the magnetic field.
Normally you have some other physics, i.e. solid or ... and the EM forces act as body forces on the solid which deforms. This deformation u,w act on the ALE mesh prescribed displacement.
Nevertheless, if you want to limit the displacements you need to define the limits i.e. contact onto a defined areas for the solid to deform up to, there the pressure from the contact surface will block the forces of the magnetic field, or deviated it accordingly, via the solid material
Hope I'm clear, and that I have understood your model correctly ;)
auxiliary remark, you are better off using a round coil, or a rectangle with filleted corners, right angle corners make singularities for the B field (not really important at this stage, for later refinements)
--
Good luck
Ivar
Please login with a confirmed email address before reporting spam
obviusly the difficulty of this model is that we haven't know exactly these forces how much deform the charge.
Do you know a way to do following (without Matlab)?
Boundary 6 and 8 are moved -0.0001 in r direcion in each iteration
Ensure if the equation 1000*R<2000*Z is fullfilled. No?
the boundary 6-8 are moved again -0.0001.
So on until the equation 1000*R<2000*Z in each point is fullfilled
Thanks for the advices,
JL
Please login with a confirmed email address before reporting spam
well one is missing the Frequency-Transient solver case for this model ;) (hey COMSOL developers you make nice solver sequences, pre-cooked but you forget to apply them generally; perhaps they will notice;)
So lets say you use your stationary solver, then you need to define a Global Definition Parameters Param = 0, and you set in the Study Stationary Extension tab, add Continuation parameter Param with something like a range: range(0,0.01,1)
You need to select the air and add it to the ALE domain and the default mesh displacement conditions should do
the you write for the boundary "8" Prescribed Mesh Displacement 4 node: dr = Z*Param
Then you must release the line "6" along R or use the same formula as above, otherwise its fixed.
This is not really your equation because for me it does not make sense: Point 5 cannot move because boundary "4" is fixed and point 5 has coordinates (R,Z) = (0.0355,0) so your condition becomes (35.5+dr)<0 with dr= -0.0001 step it's always =0 immobile, but also
Point 6 can move from its present position (R,Z) = (0.0355, 0.075) as (35.5+dr<150) always = 0
So again I probably have missed something, but I hope my formula trigger some ideas for you ;)
To solve, but before:
If you turn on the Plot while solving in the solver tab, and then set the plot to "Wireframe" you will see the mesh distort
--
Good luck
Ivar
Please login with a confirmed email address before reporting spam
the voulmen of a surface is possible to calculate by integration.
Do you know haw can i calculate the heigt or width of a boundary?
Thanks
JL
Please login with a confirmed email address before reporting spam
I bvelieve you mean the area of a surface ?
in COMSOL denomination a domain (volume in 3D, surface in 2D) is obrtained by integrating with the integrand 1 over the domain (Volume=int_vol(1*dx*dy*dz), and Area=int_surf(1*dx*dy) note that the dx, dy,dz are implicit in the COMSOL notation)
You do the same over boundaries and edges and even points to get a coordinate
Integrations can be defined in the Definition node (if used during the solver process, be aware about which frame you define it on) or as derived variable integration or data set integration in the results section
--
Good luck
Ivar
Please login with a confirmed email address before reporting spam
reading more carefully all you told me, i have an idea that has to do with the idea of "contact square". However, i am not sure how to apply this idea.
In the model exchange there is a model that is called "Square drop oscillation under surface tension – 2D axi-symmetric model". Imagine that this drop deforms and deforms towards rigth. But i want that this drop only deform to 1.8 e-3 m. What do you think that has to be the stop condition? a contact geometry (how)? a step of hydorstatic pressure (how)?
Thanks
JL
Please login with a confirmed email address before reporting spam
you have different ways, you can attach a boundary load/pressure that has a dependency, via an extra global ODE on the physics, related to a position, hece increase in a nonlinear way the pressure when the boundary moves above a given point. This is basically what a "contact" physics does.
--
Good luck
Ivar
Please login with a confirmed email address before reporting spam
but which have to be the value of this pressure in order to don't move the drop in the other direction?
Thanks
JL
Please login with a confirmed email address before reporting spam
that you can leave COMSOL estimate, as if it increases the pressure to high the part will move back, but then the pressure will drop, hopefully it will converge and not oscillate ;)
It's in some sort a feedback loop, but that is also what a contact does.
Of you add a global ODE defining a variable "Press" by the equation (aveop1(u)-U_lim)=0 where aveop1() is defined on some boundary that should not move further than "U_lim" this will be a start, BUT the equation above is linear and it will also "pull" so one needs to adapt it further so Press = 0 for u<U_lim-tolerance, and increase the non linearly within the tolerance. This would require some bolean operations. I havent tried it out for several versions so I'm no longer sure about the equations to use, one would need to look what COMSOL does for the contact and copy that, there are also some discussion about different contact physics and variants a couple of years ago on the FORUM, try a search. I believe it was Rémi who gave some tips once
--
Good luck
Ivar
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.