|
[Sponsors] |
timeVaryingMappedFixedValue: large data mapping on complex inlet boundaries |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
April 18, 2014, 05:48 |
timeVaryingMappedFixedValue: large data mapping on complex inlet boundaries
|
#1 |
Senior Member
Vesselin Krastev
Join Date: Jan 2010
Location: University of Tor Vergata, Rome
Posts: 368
Rep Power: 20 |
Hi all,
it's been quite a long since my last post but well, I'm back again...My issue is basically the following: 1) I want to perform an HVAC simulation with chtMultiRegionFoam on a complex 3D domain (at the moment I have only one fluid domain, but some solid domains are to be added in the future) with multiple inlet sections of different shapes and positions in space; 2) for comparison purposes, the inlet conditions (velocity, temperature, turbulent quantities) have to be mapped from csv files previously generated by a STAR-CCM+ run involving a further domain upstream of the one considered here. 3) there is only a single csv file for all the inlets, containing values and coordinates information 4) values vary in time (e. g. for the velocities I have a csv which is valid from t=0 to t=5 s, another one from t=5 s to t=180 s etc.) 5) there are A LOT of values to map (above 100k points in space) What I have done till now is generating the OpenFOAM mesh with SHM, assigning a single patch name for all the inlets (though, as I said above, they are actually multiple and separated sections) and trying to set the timeVaryingMappedFixedValue bc for this "single" patch, using one of the csv and generating the text files in the required format and folders (I have previous successfull experiences with this bc, but on single simple-shaped inlet patches and with much less points to map). However, the case crashes already at the mesh decomposition stage with floating point exception, I've tried also different decomposition algorithms (hierarchical and scotch) but the result is the same (see code below, obtained with hierarchical). Code:
Create time Decomposing all regions in regionProperties Decomposing mesh fluid Create mesh Calculating distribution of cells Selecting decompositionMethod hierarchical Finished decomposition in 9.65 s Calculating original mesh data Distributing cells to processors Distributing faces to processors Distributing points to processors Constructing processor meshes Processor 0 Number of cells = 1301483 Number of faces shared with processor 1 = 12201 Number of faces shared with processor 2 = 4935 Number of faces shared with processor 3 = 472 Number of processor patches = 3 Number of processor faces = 17608 Number of boundary faces = 578481 Processor 1 Number of cells = 1301483 Number of faces shared with processor 0 = 12201 Number of faces shared with processor 3 = 5665 Number of processor patches = 2 Number of processor faces = 17866 Number of boundary faces = 578022 Processor 2 Number of cells = 1301484 Number of faces shared with processor 0 = 4935 Number of faces shared with processor 3 = 10171 Number of processor patches = 2 Number of processor faces = 15106 Number of boundary faces = 577464 Processor 3 Number of cells = 1301484 Number of faces shared with processor 0 = 472 Number of faces shared with processor 1 = 5665 Number of faces shared with processor 2 = 10171 Number of processor patches = 3 Number of processor faces = 16308 Number of boundary faces = 581354 Number of processor faces = 33444 Max number of cells = 1301484 (3.8417698e-05% above average 1301483.5) Max number of processor patches = 3 (20% above average 2.5) Max number of faces between processors = 17866 (6.8412869% above average 16722) Time = 0 timeVaryingMappedFixedValueFvPatchField : Read 115412 sample points from "/home/f72197a/Work/Pomigliano/HVAC/datiEgeometrie/geometria_completa/runProvarev433/prova2_polymesh36_noLayers/constant/fluid/boundaryData/rev433_Inlets/points" #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::sigFpe::sigHandler(int) at ??:? #2 in "/lib/x86_64-linux-gnu/libc.so.6" #3 Foam::pointToPointPlanarInterpolation::calcCoordinateSystem(Foam::Field<Foam::Vector<double> > const&) const at ??:? #4 Foam::pointToPointPlanarInterpolation::pointToPointPlanarInterpolation(Foam::Field<Foam::Vector<double> > const&, Foam::Field<Foam::Vector<double> > const&, double) at ??:? #5 Foam::timeVaryingMappedFixedValueFvPatchField<Foam::Vector<double> >::checkTable() at ??:? #6 Foam::timeVaryingMappedFixedValueFvPatchField<Foam::Vector<double> >::updateCoeffs() at ??:? #7 Foam::timeVaryingMappedFixedValueFvPatchField<Foam::Vector<double> >::timeVaryingMappedFixedValueFvPatchField(Foam::fvPatch const&, Foam::DimensionedField<Foam::Vector<double>, Foam::volMesh> const&, Foam::dictionary const&) at ??:? #8 Foam::fvPatchField<Foam::Vector<double> >::adddictionaryConstructorToTable<Foam::timeVaryingMappedFixedValueFvPatchField<Foam::Vector<double> > >::New(Foam::fvPatch const&, Foam::DimensionedField<Foam::Vector<double>, Foam::volMesh> const&, Foam::dictionary const&) at ??:? #9 Foam::fvPatchField<Foam::Vector<double> >::New(Foam::fvPatch const&, Foam::DimensionedField<Foam::Vector<double>, Foam::volMesh> const&, Foam::dictionary const&) at ??:? #10 Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh>::GeometricBoundaryField::readField(Foam::DimensionedField<Foam::Vector<double>, Foam::volMesh> const&, Foam::dictionary const&) at ??:? #11 Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh>::readFields(Foam::dictionary const&) at ??:? #12 Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh>::readFields() at ??:? #13 Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh>::GeometricField(Foam::IOobject const&, Foam::fvMesh const&) at ??:? #14 at ??:? #15 at ??:? #16 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" #17 at ??:? Floating point exception (core dumped) 1) I'm working with OpenFOAM-2.2.x, latest available update 2) It is not a mesh-related problem, since with other inlet bcs (e. g. fixed uniform values) the case is decomposed and started without any issue 3) I have carefully cheked the points/values correspondence (for now I'm testing only the velocity mapping), and aside from the large number of points (115412, by the way) it seems to be all consistent with the required format. If someone can share some experience or advice about the topic, I will be very grateful Thank you in advance V. |
|
April 28, 2014, 04:38 |
|
#2 |
Senior Member
Vesselin Krastev
Join Date: Jan 2010
Location: University of Tor Vergata, Rome
Posts: 368
Rep Power: 20 |
So, no hints/advices on this topic? I'm still stuck at the point described in my previous post...
|
|
April 29, 2014, 04:48 |
|
#3 |
Member
Join Date: Jul 2012
Posts: 66
Rep Power: 14 |
||
April 29, 2014, 06:42 |
|
#4 | |
Senior Member
Vesselin Krastev
Join Date: Jan 2010
Location: University of Tor Vergata, Rome
Posts: 368
Rep Power: 20 |
Quote:
I saw your post and I think that you just have to add the "offset" entry in your syntax to get things work (or at least to overcome the specific issue you had reported). Try this one: inlet { type timeVaryingMappedFixedValue; setAverage 0; offset (0 0 0); } and see what happens. My problem is something different, It is not related to the syntax but, I guess, to the limits of this BC in handling complex/large sets of data which has to be mapped on geometrically non-trivial patches. Regards V. |
||
April 30, 2014, 07:17 |
|
#5 |
Member
Join Date: Jul 2012
Posts: 66
Rep Power: 14 |
Thank you very much!
|
|
May 29, 2015, 12:30 |
timeVaryingMappedFixedValue for multiple inlet
|
#6 |
Member
SM
Join Date: Dec 2010
Posts: 97
Rep Power: 16 |
Hi,
I did a precursor simulation on a channel. Because of using blockMesh with clustered wall meshing the channel was split in two blocks. So inlet & Outlet consists of two patches. Now I want to use Code:
timeVaryingMappedFixedValue How can this be done is quickest way (without running simulations again at least)? |
|
February 23, 2016, 09:51 |
|
#7 | |
New Member
Josh
Join Date: Jun 2013
Posts: 19
Rep Power: 13 |
Quote:
It seems that the pointToPointPlanarInterpolation tries to work out a coordinate system using your z-values so your z-values must change. In a 2D sim which was empty in z, I just duplicated each value with a slightly different z, and it worked fine. Hope this helps. |
||
June 2, 2016, 16:50 |
|
#8 | |
Member
Mohamed Elghorab
Join Date: May 2016
Location: Coventry, Engalnd
Posts: 41
Rep Power: 10 |
Quote:
|
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Complex FFT for real data | Hisham | Main CFD Forum | 0 | November 12, 2011 15:53 |
Complex .stl data for volume meshing in ICEM CFD | Nils_H | ANSYS Meshing & Geometry | 5 | September 2, 2011 09:39 |
Mapping outlet patch to inlet patch of new case | val46 | OpenFOAM | 0 | February 18, 2011 12:22 |
[Gmsh] Import gmsh msh to Foam | adorean | OpenFOAM Meshing & Mesh Conversion | 24 | April 27, 2005 09:19 |
Making new inlet boundaries | Stephen | FLUENT | 7 | March 31, 2004 11:11 |