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.
On Off Boundary Condition
Posted 04.06.2011, 14:06 GMT-4 Version 5.2 6 Replies
Please login with a confirmed email address before reporting spam
I must impose a fixed displacement on a boundary up to a given parameter value, beyond this value it must be free !!
How do I impose it???
thanks in advance!!!
Please login with a confirmed email address before reporting spam
Your challenge here is not changing the value of the boundary condition because this is easily doable using a conditional statement in the boundary condition expression such as setting a temperature using "T*t>5[sec] + (T^2)*t<=5[sec]"
But what you want to do is to change the type of the boundary condition which is not doable as I know in COMSOL 3.5a. I am ruining into the same issue and thus I have switched to COMSOL 4.1 to use Parametric Sweep option. I have not figure it out yet ;)
Sherif
Please login with a confirmed email address before reporting spam
Is it really impossible in 3.5 version??
I have another problem! I have to calculate the distance between two surfaces of a 2D deformed body (the thickness).
How is possible to do??
I know there is the gap variable which is defined only for contact pairs but it's impossible to evaluate in this case..
Thanks a lot!!
Please login with a confirmed email address before reporting spam
I wanted to let you know that I have solved this problem. I used COMSOL 4.1 however I believe that it is also doable with any version of COMSOL that can operate with MATLAB.
My method depends on using COMSOL with MATLAB to program the on/off boundary and switch between them.
It took me so much time to figure it out but it is working perfectly. I am sure you will be able to do it as well and to make your life easier I am attaching to this post my trial files that show how you can adapt this approach for your problem. Again, these files were generated using COMSOL 4.1.
You will need to save the files in a folder and change the paths at the beginning and the end of the ".m" file to refer to this folder this it should work perfectly.
Sherif
Attachments:
Please login with a confirmed email address before reporting spam
Hi Gianni,
I wanted to let you know that I have solved this problem. I used COMSOL 4.1 however I believe that it is also doable with any version of COMSOL that can operate with MATLAB.
My method depends on using COMSOL with MATLAB to program the on/off boundary and switch between them.
It took me so much time to figure it out but it is working perfectly. I am sure you will be able to do it as well and to make your life easier I am attaching to this post my trial files that show how you can adapt this approach for your problem. Again, these files were generated using COMSOL 4.1.
You will need to save the files in a folder and change the paths at the beginning and the end of the ".m" file to refer to this folder this it should work perfectly.
Sherif
I am able to attached the remaining files because of the size. I can do this over the email if you would like to. Please send me your email in a privet message.
Please login with a confirmed email address before reporting spam
I have almost the same problem, could you guide me how to solve it? I want to implement this condition: changing a roller boundary condition to a free boundary condition for positions of the boundary in which pressure is negative in the solid mechanics interface. My Comsol is 5.2. Thanks!
Please login with a confirmed email address before reporting spam
There are a few things to add to this discussion.
Some of the questions here appear to be about approximating a contact condition. If that is the case, we would recommend using either the Structural Mechanics or the MEMS Module, which have build in contact calculation capabilities and can handle large geometric deflections. Relevant examples are:
www.comsol.com/model/4119
www.comsol.com/model/12577
www.comsol.com/model/206
Now, regarding the question about On/Off conditions: It is correct that COMSOL does not allow you to switch between a constrained boundary condition and a free boundary condition during the simulation. That is equivalent to saying that the boundary condition changes from Dirichelet to Neumann, resulting in a fundamentally different set of system equations.
(See also: en.wikipedia.org/wiki/Dirichlet_boundary_condition & en.wikipedia.org/wiki/Neumann_boundary_condition)
So, rather than switching boundary types, instead use the Robin boundary condition. The Robin condition is after all really just a combination of the Dirichelet and Neumann conditions. ( en.wikipedia.org/wiki/Robin_boundary_condition)
Consider the general Robin boundary condition in terms of a field, u:
alpha * du/dn = beta * ( u_0 - u )
If beta = 0 this reduces to the homogeneous Neumann:
alpha * du/dn = 0
If beta >>> alpha, then (alpha/beta)->0 and this equation approaches equivalence to the Dirichelet condition:
(alpha/beta) * du/dn = 0 = (u_0 - u)
So in COMSOL, how do we use the Robin condition to approximate a switching between boundary conditions?
See the attached file for an example. The model represents a single strip of material that is bonded on the left side to a rigid foundation. On the right side a uniform load in the x-direction is applied. There is additionally a temperature variation between the top and the bottom. The objective of this model is to demonstrate a boundary condition of the form:
If the temperature at the boundary is below 400K, then that part of the left-side boundary should be firmly bonded to the rigid foundation. Once the temperature along some part of the boundary gets about 400K, then that section should be free.
This is implemented in "Boundary Load 2" where a force is applied with components:
Fx = step1(T[1/K])[N/m]*(0-u)
Fy = step1(T[1/K])[N/m]*(0-v))
This is directly equivalent to the above Robin boundary condition. The x&y displacements are u&v, and the "step1" function is defined in Components > Definitions. It goes from a value of 1e16N/m to 0N/m at a temperature of 400K. Note also that there is smoothing applied so that the boundary condition varies continuously between these two values. Think of this term as a spring that connects the boundary to a rigid foundation, and the spring constant is a function of temperature.
The peak value, of 1e16N/m must be found be experimentation. Too high of a value may lead to numerical overflow, but too low of a value (too soft of a spring) will not sufficiently constrain the boundary. In practice, use your knowledge of the physics of a problem to choose a good initial value and experiment from there.
The solution ramps over a few different cases of temperature variation to show that the boundary debonds when T > 400.
This example is presented using the core capabilities of the software. If you have the Structural Mechanics Module or the MEMS Module you could additionally use the "Thin Elastic Layer" & "Spring Foundation" features and additionally consider large geometric deflections.
An additional example that may be relevant is:
www.comsol.com/model/mixed-mode-debonding-of-a-laminated-composite-19961
Best Regards,
Attachments:
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.
Suggested Content
- FORUM Boundary condition for solar cell
- KNOWLEDGE BASE Solving Models with Step Changes to Loads in Time
- BLOG Modeling Waveguides that Support Multiple Modes
- FORUM Toggle extrusions on/off using parameters
- KNOWLEDGE BASE Avoiding Negative Concentrations