Comsol Analysis

  1. Hi everyone,

    I'm doing an analysis with Comsol on an Impeller. Shortly, it is a roller (cylinder) that applied a pressure on a blade (shape of an helix with variable pitch; I have the equation of the bade) at a specific radius to deform it.

    I've done my assembly in Catia (impeller and roller) and imported it to Comsol. I think all my equations are OK but I can't get any "answer" from Comsol. Here are my questions :

    Is it possible to simultae the movement (helix shape) of the roller on the blade. If yes, do I have to prescribe displacement to the subdomain or would it be better with only THE point that is following the helix shape path?

    Another problem I got (the reason why I can't get the problem solved) is Error 7097 : Parameter list must not be empty. Does anybody know what's this list? I tought I had filled every field that has to and defined all constants and variables.

    I'm using the Parametric Solver with theta as parameter. I've attached an image of the assembly for a better visualisation.


    Attached Files:

  2. jcsd
  3. OK I solved a part (my "parameter list" problem) but now I'm Out of memory. I guess reducing de number of DOF will help?!
  4. Mech_Engineer

    Mech_Engineer 2,299
    Science Advisor
    Gold Member

    How many nodes and elements do you have in the model's mesh?
  5. Around 250 nodes (points), 400 lines (edges), 150 surfaces (boundaries). I tried the defeaturing tool : I was able to delete some parts but there's still a lot I can't and that are useless for the modelisation.

    Thank you
  6. Mech_Engineer

    Mech_Engineer 2,299
    Science Advisor
    Gold Member

    Do you mean 250,000 nodes? If you truly only have 250 nodes you model may be too coarse to resolve the rolling action of the roller on the blade. I have found that in ANSYS I can solve problems with up to about 200,000 nodes with a 32-bit machine with 2gb of ram. Can you post a picture of your mesh?

    For your boundary conditions, are you constraining the roller and rotating the blade? You might consider applying a frictionless contact condition between the roller and the blade and then not allowing the roller to spin, only to move up and down. You also have to remember that your mesh should be sufficiently dense to correctly capture contact between two parts. Overall, contact conditions and normal forces can be a fickle mistress if not implemented correctly.
  7. Oh sorry!

    in the mesh (normal free mesh) there's 43000 elements 11100 points and 260000 DOF.

    By the way, I'm not able to define different mesh sizes for specific boundaries, even in Free Mesh Parameters.
  8. Here's the print screen.

    I constrained the impeller and rotate the roller (wich is the same thing as rotating the impeller and constraining the roller, as long as one do the movement).

    Attached Files:

  9. Mech_Engineer

    Mech_Engineer 2,299
    Science Advisor
    Gold Member

    How have you defined the contact condition netween the impeller and the roller? Is it frictional, frictionless? What forces are being applied in this model? Is there a force holding the roller against the impeller?
  10. I've made a Pair with the blade surface and the roller surface that have to "touch" each other. Basically, I didn't applied any force on the roller, I wanted to test the path and make the roller follow the surface. The condition between both surface is frictionless. Should I apply a force downway on the roller subdomain to maintain it against the impeller?
  11. Mech_Engineer

    Mech_Engineer 2,299
    Science Advisor
    Gold Member

    Well, its hard to say which is a better way to go, but it occurs to me that the roller appears to have been split into two dirrerent areas to make up its cylindrical surface. If that is the case, forcing contact between the roller and the impleller could cause problems when the roller is rotating.

    One way or another, I don't think your mesh is big enough to cause you to run out of memory for a single step, but if you are trying to solve many load steps simultaneously you might run into trouble. I suppose it is possible that considering the nonlinearities of the problem an optimization solver might choke. How many steps are you solving for, and what parameter are you trying to optimize?
  12. That's a fact, the roller is splitted in 4 sections but I don't really know if the roller is going to turn on himslef. The reason is because I didn't see where I could force the roller to rotate or no.

    The parameter varying is theta (to force the roller to follow the path wich is a function of theta). First I had a lot of steps to solve but I'm going to increase the number of step once I'll get a first answer. I think it's going to help.
  13. PerennialII

    PerennialII 1,102
    Science Advisor
    Gold Member

    With respect to your memory problem, what solvers have you tried? The easiest way around it sometimes is to use a different direct solver, like the Pardiso (usually uses less memory than UMFPACK for example), or if the direct solvers don't do it, try an iterative one (GMRES, FGMRES, CG etc.). Of course if you're already using an iterative one then have to think of something else (or if your problem doesn't "behave" using an iterative one).
  14. I've tried almost all the solvers, using the same parameters.

    There had been some developments 'till your last post. With coarser mesh I was able to solve the problem (with some warnings) for the first value of my parameter (theta). There was no convergence and the solver didn't pass to the second parameter. I augmented the number of iteration for the convergence and the only thing it did was that solving was longer.

    For this reason I think the real problem is in my definition of the model. I'll just check everything again and continue trying.
  15. Gokul43201

    Gokul43201 11,141
    Staff Emeritus
    Science Advisor
    Gold Member

    I'm going to pile onto this thread if it's okay by Peaceman. I am a COMSOL newb, and have a couple of difficulties I'm trying to work through. It would be great if either of you (or anyone else) could help. I'm using Comsol on my Macbook, so memory may be an issue.

    I drew my structure within Comsol. It is very simple: 3 rectangular blocks - (x,y,z) 4mm x 4mm x0.5mm substrate under a 4mm x 4mm x 150nm thin film with a 0.5mm x 0.5mm x 100nm cap on the middle of the film.

    I have trouble meshing the structure. I have tried to use the coarsest free mesh setting - finer meshing never seems to go through to completion, and I've waited as long as an hour - but always get the following error message:

    Error: 4029
    Failed to insert point.
    - x coordinate: 0
    - y coordinate: 1720.73
    - z coordinate: 499.59
    A degenerated tetrahedron was created.
    - x coordinate: 0
    - y coordinate: 1720.14
    - z coordinate: 499.582

    (note, all dimensions are in microns)

    It always runs into trouble as it gets very close to the top of the substrate (which is at 500 microns).

    Any suggestions how I deal with this?

    EDIT: Nevermind that. I got around it by tweaking the mesh parameters (sort of shooting in the dark, I admit). But now, I would like to reduce the mesh density, because I now run out of memory during solving (using UMFPACK, apparently, I do not have direct - PARADISO). With the mesh parameters I used, I end up with about 220,000 elements. I need to reduce that by about an order of magnitude.

    What should I change?

    EDIT 2: Think I found it - resolution of narrow regions! Will see if this works (I've now got it down to about 30,000 elements).
    Last edited: Nov 14, 2008
  16. I think I can solve but I get no result. The solver indicates that the computation is finished but I get 81 warnings of type :

    Inverted mesh element near coordinates (...,...,...)

    with the coordinates instead of ...

    What could this mean? Mesh not fine enough (can't go finer, doesn't want to start solving)? Can't solve for those points? Too large deformation that would "break" the mesh and invert it? (Reduce forces?)
    Last edited: Nov 14, 2008
  17. PerennialII

    PerennialII 1,102
    Science Advisor
    Gold Member

    This week used the boundary layer meshing routine to model a coated structure (it's meant for CFD reckon but anyways it worked), 1 micron over 3 mm of substrate. But seriously, the free meshing routines often have "issues" when the scales in model differ this much (probably don't need to mention this :biggrin: ). For example when modeling cracks in complex geometries and do the meshing in Comsol, have found pretty much the sole way to do it to get "hands dirty" and specify the mapped structured meshing parameters on an "edge by edge" basis (under mapped meshing parameters). Some work, but can get fairly good looking and properly populated meshes (and often can get other meshing techniques working as well by providing them with enough parameters to various geometric entities).
  18. PerennialII

    PerennialII 1,102
    Science Advisor
    Gold Member

    Not a warning have come across (my models seem to 'just' fail without warnings :rofl: ) .... what is the mesh like near those coordinates (if it would compute something would think you might have elements turning inside out, experiencing some large displacements or something related, although then would expect it to complain about the Jacobian)? This wouldn't be happening in the contacting region (might then have something to do with what sort of contact there is with respect to you element sizes, time step sizes, initial step sizes and so on)?
  19. Thanks a lot...

    I need to "disconnect" a little bit of this problem during the week-end. Monday, I'll just do another check up, maybe starting over with only the blade I'm interested in.

    I'll give you more details on time.
  20. Hi,

    as I said, I tried to start it all over, changing the parameters I wasn't so sure last week but I don't see any difference. I'm pretty sure my problem is on the contact parameters definition but I don't know where to go with this. I changed the CAD to keep only the blade I'm interested in.

    I want to force the roller to follow a specific helix that I have the equation :

    Rx = R*cos(theta)
    Ry = R*sin(theta)
    Rz = R1*theta^9+R2*theta^8+...+R10*theta^0 (or should it be (R1*theta^9+R2*theta^8+...+R10*theta^0)*theta because the Z parameter of an helix = c*theta where c is a constant)

    It doesn't matter if it rotate on himself or no. In my mind, this path is only for a specific point (because of the Rz equation), this is why I constrained the subdomain with Rx and Ry and "the" point with Rz.

    To simplify, I'm trying to solve it without friction. The contact pressure is very low; I try to simulate the movement and the contact before augmenting it.

    Does everything seem to be OK for you? Do I have to set special initial values?
    Last edited: Nov 17, 2008
  21. PerennialII

    PerennialII 1,102
    Science Advisor
    Gold Member

    Contact problems and convergence often seem to reside on different planets. If the mesh is "about ok" one of the best ways to accelerate convergence would be to specify an initial contact pressure. Either find something analytical which would match approximately, or then just try to approximate based on the contact problem characteristic dimensions & loading (and improve by iteration for example, or if pressure seems out of the question, a following displacement at the beginning aids as well). Also, trying to simplify the problem if it doesn't converge is one which often works (add constraints, simplify them, then work towards getting to model to work with in the actual analysis case) and pay attention to effects and specification of load stepping.
Know someone interested in this topic? Share a link to this question via email, Google+, Twitter, or Facebook