FSI - verification force mapping with mfx
:oI apologize in advance for my bad english.
I am working on a two-way coupled FSI simulation with water and rubber membrane with MFX.
When the load transfer of the pressures on the structure probably caused inaccuracies, which I am on the track.
Unfortunately, there is (still) not a viable solution to issue the load transfer or to visualize. For me currently is the only way to be considered by the MFX solver written out ANSYS.db File in Classic.
However, I can not trust the specified nodal loads. The differences are too big, although the results are not too bad. I do not know exactly what MFX drives there, the load transfer is not transparent for me.
To check the mapping on MFS there exists the command MFMAP. Does anyone know such a possibility for MFX?
Thanks in advance.
If you insert the command:
you'll get text output in the stdout file showing ALL the details of the load transfer (it's a lot of output). You can also insert monitor points in CFX such as:
and compare to the values shown in the stdout file each coupling iteration. In CFX enable "monitor coefficient loop convergence" so you can see the monitor point data each inner loop. Also check the interface mapping near the start of the ANSYS.stdout file to make sure all the nodes were mapped correctly.
thanks a lot for your answer.
but, i think, the forces catched this way are just values within the cfd field. isnīt it? iīm interested in what happens across the interface. what data reaches ansys? how good are they mapped?
where can I insert a command like "debug", at the end of the mf-file?
"interface mappin near the start of the ANSYS.stdout file" is a good cue. please look at this:
SURFACE INTERPOLATION MAPPING
PROFILE PRESERVING INTERPOLATION MAPPING
Sending region name = 3
From sending process = ANSYS
to receiving process = CFX
Transferring variable = DISP
Percentage complete = 25 % ...
Percentage complete = 50 % ...
Percentage complete = 75 % ...
Percentage complete = 100 % ...
CONSERVATIVE INTERPOLATION MAPPING
Sending region name = IterfaceInside
From sending process = CFX
to receiving process = ANSYS
Transferring variable = Total Force
Sending Side: Total Area = 5.48450E-03
Non-Matching Area Fraction = 0.0000%
No. of Un-Mapped Nodes = 0
Receiving Side: Total Area = 1.13218E-02
Non-Matching Area Fraction = 48.0235%
No. of Un-Mapped Nodes = 12
*** WARNING *** CP = 1.500 TIME= 13:45:00
The component MFLC_3_2_FORC_1 was created for MFLC,3,2,FORC,1 command
to display improperly mapped nodes. Set /debug,,2 for more
information on improperly mapped nodes.
My Models (ANSYS and CFX) are a very good match. My ANSYS support guy explains the 48% non-matching with a bug in cfx. any other ideas?
Are you using high order tet elements on the ANSYS side of the FSI interface, with version 12.0 or 12.1? If so, the cause of the high non-overlap fraction is a bug in the ANSYS mapping. You can either:
- use hex element on the interface
- drop mid-side nodes so that low order tets are used (SOLDI185) - this would be a good test to perform in any case.
- contact your ANSYS support guy to see if a patch is available
iīve had the same idea, 4-node surf elements (upon 8-node solids) at ansys side and hex elements at cfd side. same problem. there is no path, they say.
could my pseudo 2D model (one element thick with sym-bounds) be the reason?
how does it work with the debug command?
4-node surf elements? Surface elements are not used to transfer the forces, they are applied directly to the nodes of the 3D solid elements. Actually if you have inserted surface elements then they may be picked up in the area calculation, hence almost 50% non-overlap. Delete those surface elements.
For the debug command, just drop it into your Mechanical input file anywhere before the solve command (or drop it into a Command Object in WB).
@stumpy: Thank you for your answer. The problem with tho overlapping SURF and SOLID-Elements seems pursuable for now.
When I delete the 154'er I get a confusing error message:
*** ERROR *** CP = 1.547 TIME= 13:46:56
No FSIN boundary, for interface no. 1, in sending side is defined for
because the interfaces are preserved after erasing, according to CLASSIC plot view.
In ANSYS help MFSU is only valid for ANSYS Multi-field solver (MFS), not for a MFX simulation. Has anybody an idea?
to make a statement referring to the usage of SURF-Elements: To prepare my simulation, I need a prestressed initial geometry (large displacements). In the first step, the simulation is just static with hydrostatik pressure, what requires SURF-Elements.
Up to the present for step two (FSI) I just deleted the static pressure.
To do a pre-stressed analysis I think you need to set it up as a 2-way FSI (MFX) simulation from the beginning. You could set up the FSI interface so that no forces are passed from the fluid to solid initially, then turn on those forces when restarting. Are you setting this up in Prep7 or Workbench?
Itīs mixed. the structural model, I designed with dm under worbench, the mesh an the structural setup under WB 'structural'. for the hydrostatic pressure and the output files I used command objects. I got:
- cdb-file with the deformed geometry to design the fluid mesh with icem cfd
- rst-file for the structural restart (upgeom)
- ist-file with initial stress corresponding to the displacements (strains)
- cdb-inputfile for the restart (complete set)
The mf-file I wrote manually as follows:
INISTATE, READ, '..\file',ist
! *********** WB SOLVE COMMAND ***********
! check interactive state
MFLC,SURF,ANSYS,1,DISP,CFX,'Interface','Total Mesh Displacement',NONC
MFLC,SURF,ANSYS,3,DISP,CFX,'IterfaceInside','Total Mesh Displacement',NONC
The solution I started with CFX solvermanager.
The results are not to bad, but not good enough. Initial stress, geometryupdate works fine. the mfx-setup (with surf-elements) seems to work so, however the diffenences I canīt reconstruct.
Unforunately deleting the SURF elements results in errors. So I canīt test it. But, does it really matter? SURF and SOLID elelemnts share the same nodes at the surface.
Debug works. Iīm currently trying to figure out the interesting parts of the huge out-file. I keep you posted.
There's a lot of interesting points here! First, it was my understanding that you couldn't use SURF154 elements to receive the displacements on the ANSYS side, but you said it seems to be working fine. I would recommend doing a simple test that can be used to verify the loads and displacements are transfered correctly when SURF154 elements are used. If you set up a Fluid Solid Interface in Workbench and write out the input file you'll see what it's doing. It just identifies the interface nodes in an FSIN component, then this is referenced in the MFLC command. If you delete the SURF elements then you'd need to set up the FSIN components (1 and 3 in your case, looking at your MF file).
Second, the way you've done the pre-stressing by writing out the previous stress state and using upgeom to zero-out the displacement DOF's is interesting. I'm not sure if this would be entirely accurate for non-linear material properties, and I'm not sure if any previous structural velocity would get carried over either. However, this appears to open up the possibility of performing remeshing with 2-way FSI - something else that I was told couldn't be done. The approach you're using is beyond anything I've tried. If you have a good contact in ANSYS support they may know more.
hallo stumpy again,
I guess, my poor english is the reason for the obvious misunderstanding.
Before I tried a simulation without SURF elements the results have been ok, but not correct. I just wanted two things: a way to see exactly what happens while the mapping (this seems to be working with the debug command) and more exact results. Your suggestion (delete the SURFīs) seemed to be a interesting approach. But, when tried this, I got the error message above.
Fortunately there are no nonlinear materials, just large displacements with small strains (only large rotations). In spite of the rubber, hookian material properties are possible in this case.
Thanks for your help.
This does work for MFX and remeshing on the fluid side. For non-linear materials you can read in the plastic and elastic strain and initialize the structure in that manner (one issue with INISTATE is that it writes out the state at each iteration, so you either have to deal with a very large file or delete it every now and then). And as you noted the structural velocities are not carried over, so you have to induce them in a pre-restart manner. And since this isn't officially a "restart" (more of a fresh start at all the previous state values), you need to use the "pre-restart" to initialize the ANSYS solution to the restart time (since you can't arbitrarily choose that in ANSYS).
Very useful info. Thanks!
Now I could build a simple test model to reproduce the error, a vertical bar with hydrostatic pressure left. as the correct model, the pressure was applied on SURF elements.
Starting from the stressless state, deleting the SURF-elements causes no error. The coupling works fine.
However, with predeformation or bias, the approach results in the above-mentioned error in the same way. Obviously, anything harmful happens during this process. Does anyone have an idea?
Obviously itīs a matter of the order. If the FSIN definition comes after INISTATE an UPGEOM coupling suddenly works.
Another problem, I havenīt mentioned so far. Only if I start the prestressed and predeformed simulation with an initial field at the fluid side (to save time), only nodes at z=0 get forces (see the debuged out-file). In this case of the quasi 2D model (one Element thick) FX sum is about 50%.
Without initial conditions from a res-file, all interface nodes have forces and the sum is correct. Why?
How can i see the result of mfx analysis?(e.g Displacment and vector,etc)
|All times are GMT -4. The time now is 20:20.|