|
[Sponsors] |
October 4, 2020, 05:15 |
error in surface film
|
#1 |
Member
Riddhideep Biswas
Join Date: May 2020
Posts: 30
Rep Power: 6 |
Hello everyone!!
I am running a simulation using sprayFoam and I want to use surface film modeling. I have done everything extra that is required for the surface film model to work. But during the beginning of the simulation, I get an error like this: --> FOAM FATAL ERROR: request for surfaceFilmRegionModel surfaceFilmProperties from objectRegistry test_run_electrostaticFoam failed available objects of type surfaceFilmRegionModel are 0() From function const Type& Foam:bjectRegistry::lookupObject(const Foam::word&) const [with Type = Foam::regionModels::surfaceFilmModels::surfaceFilm RegionModel] in file /home/riddhideep/OpenFOAM/OpenFOAM-6/src/OpenFOAM/lnInclude/objectRegistryTemplates.C at line 193. FOAM aborting Anyone please help me what to do to get rid of this error. |
|
October 4, 2020, 12:15 |
|
#2 |
Senior Member
Join Date: Aug 2015
Posts: 494
Rep Power: 15 |
The error indicates that a surface film region does not exist. A surface film region must first be created -- the hotBoxes tutorial is one example using surface film modeling that could be used as a reference. You should also make sure that the solver is able to incorporate surface film models (i.e., a minimal check would be that it includes a "createSurfaceFilmModels.H" file). A quick check at sprayFoam suggests this is not the case (at least for openfoam 8). If this is also true for the version you are using, then perhaps the solver used for the hotBoxes tutorial would work for your case.
Caelan |
|
October 4, 2020, 13:00 |
|
#3 |
Member
Riddhideep Biswas
Join Date: May 2020
Posts: 30
Rep Power: 6 |
Thanks a lot Caelan sir for your reply.
I am using OF version 6 and in my sprayFoam.C file, surfaceFilmModel is not included( I have attached picture). I think that is the reason surface film modelling is not working. Can you suggest what changes to do so that it may be able to handle surfaceFilm models? Also a curious question is that I saw in the sprayFoam folder, sprayDymFoam and engineFoam are also included. Why are these solvers included within sprayFoam and what are connection they have with sprayFoam? Last edited by -mAx-; September 22, 2022 at 03:19. |
|
October 4, 2020, 13:07 |
|
#4 |
Senior Member
Join Date: Aug 2015
Posts: 494
Rep Power: 15 |
Like I said, using a lagrangian solver with surface film modeling incorporated will be the easiest option. Checking the available solvers for openfoam 6 shows that this would be reactingParcelFoam. Otherwise, you can use reactingParcelFoam as an example of how to add the modeling to sprayFoam.
As for the folders within sprayFoam, those are other solvers related to sprayFoam. One is spray foam dynamic mesh functionality, and the other is engine-specific. Caelan |
|
October 4, 2020, 13:48 |
|
#5 |
Member
Riddhideep Biswas
Join Date: May 2020
Posts: 30
Rep Power: 6 |
Thanks again for your reply.
Including one solver inside the folder of another solver, can the mother solver use the utilities of the inserted solver? In simple language, if I insert the reactingParcelFoam solver inside the sprayFoam solver, then will sprayFoam be able to handle surface film modelling? |
|
October 4, 2020, 14:05 |
|
#6 |
Senior Member
Join Date: Aug 2015
Posts: 494
Rep Power: 15 |
No, each solver gets compiled on its own (although they can share files, if necessary). You would need to modify the sprayFoam code. It would be something like (make sure it is correct for version 6) :
Adding creation code to createFields.H (make sure the create... file is available) Code:
#include "createSurfaceFilmModel.H" Code:
regionModels::surfaceFilmModel& surfaceFilm = tsurfaceFilm() Caelan |
|
October 7, 2020, 13:44 |
|
#7 |
Member
Riddhideep Biswas
Join Date: May 2020
Posts: 30
Rep Power: 6 |
Thank you. I will definitely try your method. Right now, I am also unable to understand the entries used in the surfaceFilmProperties file:
Code:
surfaceFilmModel kinematicSingleLayer; regionName wallFilmRegion; active true; kinematicSingleLayerCoeffs { filmThermoModel constant; constantCoeffs { specie water; rho0 1000; mu0 1e-3; sigma0 0.07; } injectionModels ( curvatureSeparation drippingInjection ); curvatureSeparationCoeffs { definedPatchRadii ( ("(cube[0-9][0-9]_side[0-9]_to_cube[0-9][0-9]_side[0-9])" 0) ); } drippingInjectionCoeffs { cloudName reactingCloud1; deltaStable 0; particlesPerParcel 100.0; parcelDistribution { type RosinRammler; RosinRammlerDistribution { minValue 5e-04; maxValue 0.0012; d 7.5e-05; n 0.5; } } } turbulence laminar; laminarCoeffs { Cf 0.001; } forces ( thermocapillary distributionContactAngle ); distributionContactAngleCoeffs { Ccf 1; distribution { type normal; normalDistribution { minValue 50; maxValue 100; expectation 75; variance 100; } } zeroForcePatches (); } } Please help me to gain insights in these areas and suggest some sources from where I can understand these. |
|
October 7, 2020, 13:53 |
|
#8 |
Senior Member
Join Date: Aug 2015
Posts: 494
Rep Power: 15 |
Resources to understand the film modeling include e.g. :
K. Meredith, Y. Xin, and J. de Vries. A numerical model for simulation of thin-film water transport over solid fuel surfaces. Fire Safety Science, 10:415–428, 2011. K.V. Meredith, A. Heather, J. De Vries, and Y. Xin. A numerical model for partially-wetted flow of thin liquid films. Computational Methods in Multiphase Flow VI, 70:239, 2011 You can also find the relevant header files; they usually include descriptions of the code. E.g., for curvatureSeparation (from the curvatureSeparation.H file) : Code:
Description Curvature film separation model Assesses film curvature via the mesh geometry and calculates a force balance of the form: F_sum = F_inertial + F_body + F_surface If F_sum < 0, the film separates. Similarly, if F_sum > 0 the film will remain attached. Based on description given by Owen and D. J. Ryley. The flow of thin liquid films around corners. International Journal of Multiphase Flow, 11(1):51-62, 1985. |
|
October 9, 2020, 12:22 |
|
#9 |
Member
Riddhideep Biswas
Join Date: May 2020
Posts: 30
Rep Power: 6 |
Thank you for your valuable suggestions sir. Currently I am running a lagrangian simulation wherein I am putting the stick condition to a patch so that parcels, when they come in contact with that patch, will stick there. But the output shows that the mass which sticks is more than the mass introduced in the system!!
I have used the cloud function object facePostProcessing to determine the accumulated mass at that patch and the facePostProcessing output also shows the same thing i.e. it shows the total mass greater than the mass introduced in the system. I have attached a figure showing the related outputs. Please comment on this and also suggest how to overcome this. Last edited by -mAx-; September 22, 2022 at 03:19. |
|
October 9, 2020, 12:52 |
|
#10 |
Senior Member
Join Date: Aug 2015
Posts: 494
Rep Power: 15 |
I am not familiar with the facePostProcessing but I suppose that that the patch value could be cumulative and the cloud value is instantaneous. In any case I suggest looking at the related code to see how those values are calculated.
Caelan |
|
October 9, 2020, 14:45 |
|
#11 |
Member
Riddhideep Biswas
Join Date: May 2020
Posts: 30
Rep Power: 6 |
Thank you once again sir!! I looked in the source code of facePostProcessing but couldn't make out much. I hope it is outputing the cumulative value.
Now I am running a standard tutorial case "cylinder" of reactingParcelFoam and the I am finding the mass absorbed in the surface film satisfactory and logical. I am attaching a sample output of a thermo single layer fim solution. Here 2 terms are used. 1 is added mass and another is current mass which is slightly less than the added mass. Now what are these? Why is the current mass a bit less than the added mass? I am guessing that added mass is the total mass added to the film and from that a certain fraction has vaporised and hence the current mass is the vaporised mass subtracted from the added mass which is currently remaining in the film. Am I guessing correctly? Last edited by -mAx-; September 22, 2022 at 03:19. |
|
October 29, 2020, 03:08 |
pressure bondary condition in sprayFoam
|
#12 |
Member
Riddhideep Biswas
Join Date: May 2020
Posts: 30
Rep Power: 6 |
Hello Caelan sir.
I am simulating a case in sprayFoam where I want to give the atmospheric boundary conditions at the outlet of the domain. What pressure value should I give in my p file. Should I give a value 0 Pa(i.e. the gauge pressure) or 1e5 Pa(i.e. the absolute pressure)? |
|
September 5, 2021, 17:20 |
|
#13 |
New Member
pierre
Join Date: May 2021
Posts: 4
Rep Power: 5 |
Hi,
Did you successfully insert surfaceFilmModel into sprayfoam ? What are the .H files added? Thank you, Pierre |
|
Tags |
sprayfoam, surface film |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
modifying mass transfer within surface film model | openfoamerdodo | OpenFOAM Running, Solving & CFD | 0 | March 11, 2020 01:41 |
How To Create Fowcs William Hawkings Surface in Fluent? | marinkobezu | FLUENT | 7 | October 25, 2018 11:51 |
[Gmsh] Problem with Gmsh | nishant_hull | OpenFOAM Meshing & Mesh Conversion | 23 | August 5, 2015 03:09 |
free convection heat transfer from a heated horizontal surface through a liquid to a thin cooled fin | Kaushik | FLUENT | 1 | May 8, 2000 07:47 |
sphere in a free surface (thin film)flow | Vasu Veerapaneni | Main CFD Forum | 0 | September 15, 1998 18:32 |