View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002933 | OpenFOAM | Bug | public | 2018-05-15 03:04 | 2018-05-15 17:09 |
Reporter | SamMallinson | Assigned To | henry | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
OS | debian | OS Version | buster | ||
Product Version | dev | ||||
Fixed in Version | dev | ||||
Summary | 0002933: getApplication error when #calc invoked in functions sub-dict of system/controlDict | ||||
Description | Whilst trying to automate calculation of some entries in system/singleGraph, I encountered an error: getApplication was returning additional information above and beyond the solver name (from system/controlDict). (NB: I've used the basic/potentialFoam/cylinder tutorial to show this problem. I've added #includeFunc singleGraph to the functions sub-dict of system/controlDict, and added the singleGraph file attached here.) In particular, it looks like getApplication is collecting some dynamicCode information and outputting that information as well: >$ getApplication Using #calcEntry at line 15 in file "/usr/local/users/samuel/projects/cylinder/system/singleGraph" Using #codeStream with "/usr/local/users/samuel/projects/cylinder/dynamicCode/platforms/linux64GccDPInt32Opt/lib/libcodeStream_31aa3d3b040ff7ed8df473c1eff90daf9849c7cf.so" potentialFoam When Allrun is called, I get the following error: r$ ./Allrun ln: ./lnInclude Running blockMesh on /usr/local/users/samuel/projects/cylinder Running Using on /usr/local/users/samuel/projects/cylinder Running postProcess on /usr/local/users/samuel/projects/cylinder That is, the return from getApplication, "Using #calcEntry at...", is not what is required. Workaround: change the definition of application inside Allrun: application=`getApplication | tail -n 1` This cuts all but the last line from the return, which is just the name of the application (as require). However, this is a bit messy, so I thought you'd want to make a nice fix. | ||||
Steps To Reproduce | 1. copy tutorial basic/potentialFoam/cylinder to <some-location> 2. add attached file singleGraph to system directory 3. edit system/controlDict and add #includeFunc singleGraph to the functions sub-dict 4. ./Allrun 5. for the workaround, download Allrun1 (attached) and then ./Allrun1 | ||||
Additional Information | This error only seems to occur for OF-dev commits https://github.com/OpenFOAM/OpenFOAM-dev/commit/984c4a2b518e2022f2eda534a1949c18728e33bc and later. Prior to that, getApplication was defined as a sed command: getApplication() { sed -ne 's/^ *application\s*\([a-zA-Z]*\)\s*;.*$/\1/p' system/controlDict } Now, getApplication invokes foamDictionary (see https://github.com/OpenFOAM/OpenFOAM-dev/blob/master/bin/tools/RunFunctions): getApplication() { foamDictionary -entry application -value system/controlDict } | ||||
Tags | getApplication | ||||
|
singleGraph (897 bytes)
/*--------------------------------*- C++ -*----------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Web: www.OpenFOAM.org \\/ M anipulation | ------------------------------------------------------------------------------- Description Writes graph data for specified fields along a line, specified by start and end points. \*---------------------------------------------------------------------------*/ x0 0.0; x1 #calc "$x0 + 2.0"; start ($x0 0 0); end ($x1 0 0); fields (U); #includeEtc "caseDicts/postProcessing/graphs/sampleDict.cfg" setConfig { type midPoint; axis x; } #includeEtc "caseDicts/postProcessing/graphs/graph.cfg" // ************************************************************************* // |
|
Allrun1 (398 bytes)
#!/bin/sh cd ${0%/*} || exit 1 # Run from this directory # Source tutorial run functions . $WM_PROJECT_DIR/bin/tools/RunFunctions application=`getApplication | tail -n 1` runApplication blockMesh runApplication $application -withFunctionObjects -writePhi -writep runApplication postProcess -func streamFunction #------------------------------------------------------------------------------ |
|
Try getApplication() { foamDictionary -disableFunctionEntries -entry application -value system/controlDict } |
|
Resolved by commit ad32e5ceb9ea854f2078bb79314464ca32b73eff |
Date Modified | Username | Field | Change |
---|---|---|---|
2018-05-15 03:04 | SamMallinson | New Issue | |
2018-05-15 03:04 | SamMallinson | File Added: singleGraph | |
2018-05-15 03:04 | SamMallinson | Tag Attached: getApplication | |
2018-05-15 03:04 | SamMallinson | File Added: Allrun1 | |
2018-05-15 08:28 | henry | Note Added: 0009573 | |
2018-05-15 11:57 | chris | Note Edited: 0009573 | |
2018-05-15 17:09 | henry | Assigned To | => henry |
2018-05-15 17:09 | henry | Status | new => resolved |
2018-05-15 17:09 | henry | Resolution | open => fixed |
2018-05-15 17:09 | henry | Fixed in Version | => dev |
2018-05-15 17:09 | henry | Note Added: 0009580 |