I would like to apply a pressure on a circular plate which is a function of the radius and also linearly dependent of the deformation. The pressure shall decrease when the plate deforms.
How can I do this?
I understand that I will need a nonlinear solver, but which one is recommended?
Do I need to set up my pressure load any different than a field function which is dependent of the radius and the axial direction, for a cylindrical coordinate system? The pressure will act normal to a circular plate.
There is a fundamental behavior (at least with NX Nastran) that will prevent you from easily applying the pressure load that you desire. While the direction of pressure loads update as the model deforms, the magnitude of the pressure cannot update with respect to the deformations. In NX you can define a pressure's magnitude such that it is spatially dependent, but the spatial dependence is relative to the UNDEFORMED model. Then as the model deforms during a nonlinear solve, the direction of the pressure load may change. The magnitudes of the pressure loads never change due to deformations though.
Applying a load whose magnitude depends on the deformations would require some sort of iterating over multiple solutions. Here's an idea off of the top of my head, but I'm not sure it will work. It isn't simple.
1. Define spatially varying pressure load using the undeformed mesh as the basis for the spatial evaluation
2. Solve and obtain displacements
3. Deform the mesh (the Node Translate command supports input via fields from displacement results)
4. Evaluate the spatial pressure in terms of the deformed mesh and create an equivalent representation of the load that isn't dependent upon the field. Here you need to make the pressure dependent on the element face ID or nodes of an element face. That's because on the next step you are going to apply the load to the undeformed model. That can be done by writing the pressure to Nastran input file format, and reading it back in as a new load.
5. Undeform the mesh so that you can solve it with the load from the previous step
6. Solve and evaluate displacements and loads again
Then you'd have to come up with some convergence criterion for the pressure load such that from one solution to the next, the pressure load is changing magnitude by less than a convergence tolerance.
I verified that the process I outlined can work. I created a cantilever beam solid mesh model. A pressure load running along the beam varies linearly (zero at the fixed end and increasing linearly towards the free end). The convergence criteria I came up with is with respect to the sum component forces from the pressure and the total force magnitude from the pressure. I compared the force summation results in NX (relative to the undeformed mesh) to the applied load output from Nastran at the last step of my SOL 106 geometry nonlinear solves. The "NX Load" rows get data from the mechanical load summary command. the "Nastran Load" rows get data from Nastran applied load output via results probes.
|Iteration||Y Force||Z Force||Total||%Dif Y||%Dif Z||%Dif Total|
|1- Nastran Load||-6700||30300||31031.92||-5.67164||4.009901||3.536994|
After the 2nd update of the load, I have excellent agreement between the load on the undeformed mesh, and the load on the deformed mesh. Essentially this shows that the deformation dependent load is converging.
To clarify how I generated my NX loads for iterations 1 and 2, I deformed my mesh using displacement fields written to the FEM. Then in the SIM I evaluated my original spatially dependent load relative to the deformed mesh. I used Solver Syntax Preview to save the deformed mesh load in Nastran format and I read that back into NX. Then I used that Nastran input file load in a new solution.
The attachment contains my model and solutions in NX 10. Nastran results aren't included, so you'll have to solve them again.