Viewport assembly - ideas please

I want to analyse thermal stress in a vacuum viewport assembly. Attached is an old attempt at meshing this to show the main components (ignore the mesh cracks, this is just to illustrate the general form). The overall assembly is circular: the blue component is a disc-shaped optic; the brown component is a pressed, convoluted metal ring; the grey is a circular flange. Equispaced around the flange are a number of through holes for bolts. The optic is brazed or bonded to the ring, so potentially another thin component is needed here. The ring is welded to the flange. The flange will have a more complex profile than this, being seated onto a compressed copper gasket, but I think fixed supports at/around the bolt holes (and possibly where seated on the gasket) will be a good enough approximation.

I am interested to hear suggestions for the meshing of this assembly. I have access to various .stp versions of the components, along with other CAD options.

My ideas so far:

1. Reproduce the profile of the assembly in cross section, including all components and interfaces. Mesh this, then revolve a segment, similar to in the attached file, to give sensible element dimensions where the components attach to each other (high stress). Finally, add a bolt hole to the flange, and impose frictionless supports to enforce rotational symmetry.

2. Imort .stp files of the components. I am unsure of the control I will have here over the meshing and respecting the boundaries between components, and how to mate the faces correctly. Will bonded contact be the way to go, or do I remember reading that there is a feature that enables matching of nodes on mating surfaces? It seems a shame to waste the .stp files seeing as I have access to them.

That's it so far! I will of course look at the examples for ideas, but I know you guys are a helpful bunch.

I think the braze layer between optic and ring is probably needed, though lots of uncertaintly as to properties - probably quite soft. I think I will ignore for now the weld bead between ring and flange. I am aware that a pressed component might have different properties to the bulk material, but again I think I will ignore that for now.

Thanks for reading, looking forward to hearing ideas,

Dave

Comments

  • I think both ways of meshing will be OK.

    #1 would get a more efficient mesh, especially at the connections because it avoids bonded contact stress error and also on the thin braze layer, because hex20 elements can tolerate a very high aspect ratio. There's now a hole tool to make the hole after revolving.

    For #2, there's no matching mesh feature but bonded contact should be fine. A problem case is at the common edge between two different bonded contacts. If you fill the wedge shaped gap in the picture between the optic's edge and the ring with material, it might create a problem for bonded contact at the bottom where the 3 parts would share a common edge.

    A 3rd option could be to use the STEP files but do a quad-dominant surface mesh, keep only the 2D section surface, then revolve that as in #1. Then you get the advantages of hex elements but avoid manually drawing the shapes.
  • You can separate the faces on your CAD leaving only the cross section and just export this faces, then mesh with cuads and revolve it and create the holes using the specific tool.

    For meshing with coincident nodes you can mesh it on Salome, or Gmsh that allow such feature.

    Regards
  • Thanks Victor & Sergio,

    Victor, the braze would be a thin layer where the optic and the ring share a face now, so no shared edge, though the two bonded contact surfaces would be quite close together. That wedge-shaped gap would need thinking about though. It would probably be more realistic to allow the braze to extend to fill the sharp corner, while somehow radiusing stuff appropriately.

    Could you expand on the 3rd option a bit? Do I mesh each component separately and join later? Or do I have a 2D section of all components in contact? How to go from surface-meshed solid to 2D section?

    Sergio, I'm not really in the mood for learning new software, but I will take a look. Maybe bonded contact would be simpler.

    Thanks again,

    D
  • In my 3rd option, you would mesh them separately and use bonded contact. To get the 2D section, just delete all the other surfaces of the surface mesh. Edit -> Invert selection can help here.

    I Sergio's idea of making a 2D STEP file with all the 2D faces joined together. That gives pretty much all the advantages of both methods.
  • I have started off with a 2D mesh axisymmetric for this. The geometry around the braze interfaces may need to be changed, especially as this is the area most under scrutiny, though here there is not high stress in that area. The join of the weld ring to the flange is just a few shared nodes, with the rest of the surfaces free. This leaves an infinitely sharp crack that opens out as the force is applied: I am surprised not to see very high stresses here. The fixed support represents a compressed copper gasket, but might be over constraining. Maybe a support that allows rotation would be more appropriate.

    I revolved to 3d and did a quick trial thermal stress in a static 3D (which might be more relevant). I found that the flange contracts through the weld ring slightly. Would it be reasonable to run it as non-linear with contact surfaces?

    Cheers

    D
  • The stress in that corner may well be high but not as high as at the fixed support so it isn't visible without scaling the contour plot range. Don't forget to refine the mesh since there's likely to be high error near these regions too.

    I don't think you should put artificial radii in to avoid stress concentrations. Instead, you can let them happen and ignore them. That seems like safer way since it makes it clear that the model doesn't properly predict the stress there.

    Yes, I would do nonlinear because of the contact. It might not turn out not to be needed but it's worth checking at least once to be sure.

    Since the flexibility of the weld seems to be important, perhaps run two extreme cases to bracket the possible effect. One with only a single node at the bottom connected so it's free to rotate, and another with the whole interface welded up along those parallel surfaces.
  • Victor,

    Definitely agree that the weld region seems critical, I will definitely vary the degree of join and also round off the outer corners a little. I was relaxed about high stress round the weld because this is not a failure concern, but thinking about this in view of your comments above, it probably needs better resolution to correctly model the task of flexing and transmitting on the forces to the rest of the model. Thanks for the pointer.

    I think adding realistic radii can be useful as it can spare confusion when interpreting & explaining the results to other people. That said, if two surfaces are at odd angles, the trig to work out the centre and intersection points can be a bit tedious - I keep meaning to get round to writing a spreadsheet or some code to help with this.

    Will have a go with the contact.

    D
  • Wow, what a nice challenge.
    ¿Is the sight glass water tight?
    ¿I mean, will you pressurize one side of the viewport or is the gasket just to avoid glass to be directly in contact with the braze?
    If that’s the case. ¿Have you consider to use the gasket minimum pressure required to ensure tightness and check elements separately?
  • Hi Disla,

    This is a vacuum viewport, so airthight, and ultimately there will be a 1 bar pressure difference from one face to the other. The braze seals the edge of the optic to the metal ring, so the glass is in intimate contact with the braze. The gasket seals the flange against the vacuum chamber. Talking over this in more detail, it seems like this process of brazing in the glass is as critical at least as the subsequent welding and then compression of the gasket. So this is going to be a multistage analysis:

    1. Brazing - thermal stress of the optic and ring cooling from the set point of the braze.
    2. Welding - keep the results of the thermal stress in the model, add the flange component and perform another thermal stress with the weld joint cooing from an elevated temperature.
    3. Constrain the knife edge and apply force to represent bolting up.
    4. Apply 1 bar to the outside.

    Lots of assumptions required, as always, so considerable uncertainty about absolute accuracy, but for comparative analysis to see which shape of component causes the least stress it might be OK.
  • I have run thermal stress (brazing process with an optic-flange-ring sub-assembly cooling from hot to room temperature) on a thin wedge section and the solution returns displacement and stress. I was thinking to transfer these results into a new model, add the flange component, then run another thermal stress which could then compound on the results of the first analysis.

    1. When I transfer displacements from first analysis back to the mesh, it gets the displacements but what has become of accumulated stresses? The displacements will have acted to minimize the residual stresses, but if I run a second analysis from here, will it be like having deformed but fully annealed components?

    I have made only limited progress with 'Statics for Dummies', but logic tells me that for displacements to solve, all stresses must have at least balanced (I think) but intuition tells me that this is not the same as being effectively stress-free. Is my intuition wrong?

    2. To add the flange on for the next analysis, I need to move the lip of the ring back to its undeformed position so that the shared nodes match those of the flange. Is this another static 3D analysis with appropriate displacement constraints to bring the nodes to the required positions? I then face a similar (possibly worse) problem, in that if I transfer these displacements back to the mesh, then I am surely losing stresses as I am discarding the constraint that was balancing them. I could try the same displacement constraints to put the nodes in the right place, and include some kind of bonded contact between shared nodes, all in the same thermal stress analysis that models the cooling from the welding operation.

    I hope I make sense.
  • This is a type of problem that has come up a few times and there's sometimes no good way to do it with Mecway/CCX because of the key point you said about stress being lost after solving. You can get around that by running one big quasi-static solve that does all the steps from the initial unstressed state to the final assembled state without leaving the solver and losing the stress.

    You could slide the flange over the deformed brazed ring like what you'd do in real life. Use a time dependent displacement constraint to hold it away from the ring while the brazing thermal stress is applied, then move it into place at a later time. Have contact between them that forces the deformed ring back into shape. Then, at still later time, change the temperature of the weld region. I don't know how you'd capture residual stress after the weld cools though because the model will just elastically return to its unheated state. Maybe temperature dependent plasticity? That sounds like opening a whole other door.

  • Wow, I'm an animation director! Sounds like an interesting challenge though. So you think the stages up to fixing into position for welding are all feasible. CCX is quite happy to do a time-resolved thermal stress?

    There might be an argument that the main effect from the welding is the forcing the deformed sub-assembly back into shape, even before any heat is applied. The weld takes place around the ring on a turntable: in principle the first join can be done without deformation, but joining the opposite side involves enforcing the deform. It's not easy to convince myself that the cooling is not important. I think something like deform-heat-join-cool or heat-deform-join- cool might capture it, if that is possible. Needs thinking about, my analytical brain is slow.

    I'll start with the first stages, and see how far I can get. Thanks for your input, expect more.

    I think I see my error in thinking earlier: when the thermal stress solves, I think all forces are balanced, but stresses remain.
  • I know it is not strictly related to Mecway operativity, but you have solutions to forget or at least minimize the effects of temperature in the bolting process by means of Flange Bolt Disc Springs (check Chesterton 500 for reference). If your main concern is the glass and brace I would suggest forgetting the flanges as a first step and substitute them by constant force B.C. at contact areas by using this Disc Springs.
    If you are in the design department I would also suggest to go further and think the brace shape itself to act as the Disc Spring to compensate thermal expansion between installation,heating and cooling down and operation.
    It sounds to me you have spring elements in Mecway to do that and maybe it could help you to simulate the device as a whole reduccing the dificulties you are facing now.
  • edited August 2018
    I think all those steps up to before the welding are doable through the UI. The only risk I see is if the flange has to push the ring through a large strain with a corner-to-surface contact, it might fail. A few people have had trouble with that situation. It may depend somewhat on the mesh quality.

    Yes, it can have a time-dependent temperature for thermal stress. Though only the temperature with formula or table entry, not the arbitrary temperature field (node temperature) that you might get from the solution of a thermal analysis.
  • Victor, Changing the temperature in a table works best, I think, because using a formula means that the temperature carries on changing throughout subsequent steps, which confuses things.

    I think I have sidestepped the flange contact issue because the initial deformation makes the ring ID smaller than the flange, so the need is to push it back radially outwards to meet up with the flange. I have achieved this by reducing step-by-step the x displacement of the welding nodes to zero, effectively putting them back where they started. Converting to cylindrical coordinates might be a more elegant solution.

    I put a y constraint on the ring rather than on the y axis as I thought is will simplify mating up the ring to the flange - no need to move the flange at all, maybe. But how to lock the two together after moving them back has so far defeated me.

    Another problem would be that the constraint I used to push back the ring does not seem to release after its table is no longer current. I might be able to achieve the same thing with a force and get it to release by dropping it to zero.

    Initial experiment attached - I am not worried about refining the mesh for now. We cool from 220°C to 20°C over 20s, then push back the welding face over 10s. The inactive force constraint was my experiment to see if the displacement constraint released.
  • Changing x to radial can be done simply by changing the direction vector from (1,0,0) to the radial direction (x,0,z). Also, just for convenience, it's not necessary to include so many data points in the table since it gets linearly interpolated anyway.

    To make them stick together, perhaps have a look at CCX's *CHANGE SURFACE BEHAVIOR which should allow you to turn on a TIED contact in a new *STEP section.

    Yes, constraints stay present at their final value and also begin at time 0 too which is probably not what you want. I think you can turn off a constraint by writing a separate *STEP section by hand (*BOUNDARY with OP=NEW) but usually it's easier to use force instead as you suggest. Then use contact with the flange to stop it if you need it lined up well or some compression.

    But I wonder if it really needs to be free during the brazing. Since it's returning to its original displacement, would it be equivalent to start with the flange and ring already joined?
  • Victor, thanks for the tips, will digest at leisure.

    You make a good point in your last paragraph - would seem to be valid if the pushing back to orignal displacement turns out to be more important than the heat cycle from the next step, which is welding.

    I will need to think this through as I am confusing myself a bit, but there is a stage immediately after welding where the two components are joined, the join area (weld) is much hotter than the rest, then the join area cools to match the rest.

    I was thinking of having the whole mesh at, say 1220°C, then cooling it to 1000°C which would give the 220°C temperature differential for the brazing process. Then have all but the weld region cool to room temperature to give an indication of thermal stress immediately after welding, while the weld is locally hot, then allow the weld to drop to room temperature to indicate residual stresses on cooling. Your suggestion about having the join in place throughout might still be valid. All a bit contrived and possibly not reflecting reality terribly well, but might give an idea of which are the most onerous stages of the process.

    One more complication that might be significant is that in cooling from a reference temperature (as in my model so far), the initial expansion from being at the elevated temperatures is not modelled. In other words, I have created the mesh 'to drawing', and the cooling process therefore has this as its starting point. My instinct would be that any initial displacment would be very small compared to component size so that its effect is negligible.

    I'll try some ideas out and see where it gets me.

  • edited August 2018
    You're right that locking the ring into place gives the same results as moving it back to where it started (just x displacement constraint - no flange yet).

    Not sure how well my ideas on manipulating the temperature differences is working. Will persevere and share some results.
  • Those temperatures don't sound right. Won't they have a artificial thermal contraction in all the non-brazed regions, followed by an even worse one in all the non-weld regions?

    I think if you use a 0°C reference temperature, you can set the brazed region to a constant -220°C so it retains its residual stress then at a later time value, change the weld region from 0°C to 1000°C.

    Using 0°C (or even 0 K) for the reference temperature makes it easier since it turns all the other temperatures into temperature differences which is what really matters anyway.
  • Yes, my temperature idea was way off.

    Your idea is interesting. If I cool everything to -220, then have a localized region go to +1000, are these temperatures only relative to the reference, or are they also relative to each other? Not sure if I am making sense... will there be a temperature difference of 1220 between different parts of the model, or two temperature differences of 220 and 1000 imposed relative to the reference, but somehow not relative to each other? The second option does not seem possible, but maybe I am misunderstanding.

    Until I work out how to do what was mentioned earlier, bringing in the flange component and a bonded contact of some sort, then the weld temperature is of limited usefulness anyway, because the hot region is just restrained in space and will just generate huge local stresses. Once I work out how to use the various contact/interaction cards in CCX I will have a go at this.

  • Every point behaves as if it's undergoing a temperature change from the reference temperature to the temperature that you specify for it, ie. ∆T = T - Tref. Internally, it calculates that ∆T, discards the other two temperatures, and uses a generalized form of ε = CTE * ∆T. So ∆T is more fundamental than T.

    I don't think it's really meaningful to look at relative temperatures between different locations in the model in isolation. In your example, if the reference temperature is 0°C then the -220°C part will be contracted and the 1000°C part expanded. But if the reference temperature is -220°C then the -220°C part will have no thermal strain and the 1000°C part will be expanded by a 1220°C temperature difference. Those two cases aren't the same so I guess the answer is the temperatures are not relative to each other, if I understand you correctly.
  • Thanks Victor, that makes more sense now, I think. Each temperature change acts as and when it is imposed, and without ongoing comparison to an absolute global reference.
  • I will try to implement the *CHANGE SURFACE BEHAVIOUR idea to switch on a TIED contact. Do I follow it with a *SURFACE BEHAVIOUR, PRESSURE OVERCLOSURE=TIED line? I don't think I can use *TIE with the *CHANGE SUR... line, but I notice in a test model that I made that the bonded contact (tied) constraint in Mecway is written to the inp file as a *TIE, rather than as a *SURFACE BEHAVIOUR, PRESSURE OVERCLOSURE=TIED. Can anyone explain exactly what the difference is between the two? Apologies if this is covered elsewhere (I did search), and I'm afraid the CCX manual is not making sense to me. I will run some experimental models to try to get this to work, but any guidance here will be gratefully received.
  • I think you have to use *SURFACE BEHAVIOUR for that but I've never used it so not sure.

    *TIE (Called *TIE (CCX) in Mecway) is a hard connection made with MPCs, similar to the default bonded contact.

    PRESSURE OVERCLOSURE=TIED (called Elastic (*CONTACT PAIR, CCX) in Mecway) is an elastic one with some stiffness that you'd set to a large value to behave similar to *TIE.

    I think the 2nd one is generally more likely to work plus it has the option of pulling the surfaces together with its elasticity whereas *TIE only and always moves non-coincident surfaces together by altering the node coordinates rather than applying a force.
  • Thanks for the explanation, Victor.

    I've managed to make this work with a simple experiment. In the original Mecway model, a force is applied, pushing a block and stretching an attached spring. The spring stretches, allowing the block to make contact with a wall, then the force is released the block is pulled back by the spring to where it started. I tidied up the .inp file to make it easier to amend, then split the application and release of the force over two separate *STEPS. I added a CHANGE SURFACE BEHAVIOR at the beginning of the second *STEP, so the block is TIED to the wall so that the spring cannot pull it back. The CCX output nagged me to put a *FRICTION card in, and I just used the default slope figure from the original pressure-overclosure, both for the *FRICTION and for the TIED. I think the friction figure of the *FRICTION card is irrelevant here. It seems to work at this simple level, so I won't worry too much about whether the numbers I used are meaningful.
  • edited October 2018
    Good to know turning on contact works! You're right that stick slope doesn't matter with TIED. Just put anything there to satisfy CCX.

    Sorry, stick slope does matter. That's what determines its stiffness in the sliding directions and should be as high as possible just like pressure-overclosure slope. So you're still right. I was thinking of friction coefficient which doesn't matter because it never slides.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!