Error by reading XML file

Hello,
im relative new with palabos, but made some tutorials and get better. But now i have an problem and cannot get the solution…
I tryed to compile and simulate the aneurysm-code, with reading the geometry from an STL-file and the facts of simulation from an XML-file. I unpacked the STL-file, downloaded the CVMLCPP (for the sparse domain, like said in the user guide (btw: is this necassary?)) and build the code.

But i get everytime the same error in the terminal, when i start to run it:

"
Wrong parameters; the syntax is: E:…\palabos-v1.1r0\codeblocks\bin\Release\Palabos.exe parameter-input-file.xml

process returned - (0xFFFFFFFF) execution time : 0.039 s
"

I know, its from this lines in main:

int main(int argc, char* argv[])
{
plbInit(&argc, &argv);
global::directories().setOutputDir("./");
global::IOpolicy().activateParallelIO(false);

string paramXmlFileName;

try {
    global::argv(1).read(paramXmlFileName);
}
    catch (PlbIOException& exception) {
    pcout << "Wrong parameters; the syntax is: "
          << (std::string)global::argv(0) << " parameter-input-file.xml"<<std::endl;

    return -1;
}

[b]but i dont know, whats wrong. I tryed to rename the XML-file and replaced “paramXmlFileName” with these name, but nothing else hapend.

if i skip these “try” above, the terminal give me instead:[/b]

"
Error in input file : Palabos IO error: Problem processing input XML file
process returned -1 (0xFFFFFFFF) …
"
clear, its from:
try {
XMLreader document(paramXmlFileName);
readParameters(paramXmlFileName);
}
catch (PlbIOException& exception) {
pcout << "Error in input file " << paramXmlFileName
<< ": " << exception.what() << std::endl;
return -1;
}

but what does it means? Why they cant read the xml-file? does i need to rename something or download a other xml-reader? or shall i put the input file in an other direction?

I hope someone can help.
georg

ps: sry, for incorrect spellings! :wink:

Dear Georg,

No, with current versions of Palabos it is not required to install the CVMLCPP. Where in the user’s guide did you find this information?

You should execute this program with one command-line argument, which is the name of the parameter XML file.

Cheers,
Jonas

Dear Jonas,

Thank you, for your reply!
I´ve got the information of the CVMLCPP from a PDF-User guide v1.0.r0 under the topic “8.5.2 Sparse domain creation”.
It is maybe a bit outdated. But thank you, good to know that it is not necassary anymore!

But back to my rather problem:
isnt it running with one command-line argument?
with: “string paramXmlFileName;” Or what is meant?

when i type this in the programm:
" pcout << “The number of input arguments is: "
<< global::argc() << endl;”

so i get 1 as answer in the terminal! but still stays by the errors i explained above.

An another thing, but also to the aneurysm:
a moment ago,i tried to compile the aneurysm-programm with the new palabos v1.2r0. But as early as i compiled, ive got:
“error: there are no arguments to ‘random’ that depend on a template parameter, so a declaration of ‘random’ must be available”
ive never seen this before! i cant even compile the aneurysm.
got it three times from the header plbRandom.h

regards,
georg

Ive got still the same xml-input error.
I renamed every phrase “paramXmlFileName” to “param” like the given xml-file, but the same error appear.

I dont know what do do…pls, can someone help?

Dear Georg,

when i type this in the programm:
" pcout << “The number of input arguments is: "
<< global::argc() << endl;”

so i get 1 as answer in the terminal! but still
stays by the errors i explained above.

If you see “1” in the terminal that does mean that you have just launched the program without argument. The first arguement is the programm name.

Please show us exactly how you are launching the program. As Jonas said, you have to specify the filename as argument.

Hi Yann,

I tried to get the aneurysm-code of palabos 1.1r0 to run. So first i didnt change anything. Is it necessary to change something in the code to bring it to run?

isnt it running with the filename as an command-line argument?
with: “string paramXmlFileName;” Or what is meant?

regards, georg

I’m not sure that I understand what you are trying to modify. You don’t need to change the code. Just launch the code like that in a terminal:


Palabos.exe your_xml_file.xml

(instead of your_xml_file.xml) type the name of your xml file.

Hi yann!
Maybe we missunderstood eachother, i work with codeblocks on a windows 7 system. With terminal i meant the black output/controll window not the linux terminal, were i could type:

[code=“cpp”]
Palabos.exe your_xml_file.xml


And the error appears, after compiling, when i like to run the simlation. What way i can tell the programm which XML file   or which direction it has to use on windows? mayby thats the problem? 
In the code itself i can only find everywhere the expression:
[code="cpp"]
paramXmlFileName

But to change it, does not solve the problem.

perhaps im to blind. :wink:

Soooo, ok i typed it that way in the terminal!
and the following error is gone:

[code=“cpp”]
Wrong parameters; the syntax is: E:…\palabos-v1.1r0\codeblocks\bin\Release\Palabos.exe parameter-input-file.xml



but now i got the second one:
[code="cpp"]
Error in input file : Palabos IO error: Problem processing input XML file 

What does it mean? Whats wrong?

It works now!
I renamed all

[code=“cpp”]
paramXmlFileName


in the code to the default xml-file name "param".

And the xml-file and the stl-file have to be in the direction were the compiled Palabos.exe is:
[code="cpp"]
.../bin/Release

Regards, georg

Dear Edomxia,
Whats exactly your problem?
Did you try to bring the aneurysm.ccp to run for practice?
In that case, i summarize the points you have to do:

  1. before compiling the aneurysm.ccp you need to:
    - change the name of the given XML-file (param.xml to paramXmlFileName.xml)
    OR
    - change in the aneurysm-code all expressions of “paramXmlFileName” to “param”
    that way the code “know” what XML have to be invoked.

  2. after compiling, you got the Palabos.exe in the direction:
    …palabos-v1.r0/codeblocks/bin/Release
    Right? in this direction you have to insert the XML-file and the STL-file, you want to use.

  3. now you bring the simulation to run with the terminal, with the direction above opened.
    you have to type now in the following term:
    Palabos param.xml (for Linux system)
    Palabos.exe param.xml (for Windows system)
    (or paramXmlFileName.xml in case of the choice you did in 1) or any other name you determined for the XML-file)

ps.:assure, that the name of the STL-File, is typed correctly in the XML-file

That shall work this way! i hope it helps! Else write and i try it again on my own!
regards, georg

Dear Georg:

I followed your 3-step method but I don’t quite understand the 3th step where you suggested to type Palabos.exe param.xml (for Windows system) .Would you mind to tell me where I should type it?

robinson

http://file:///home/whf/Screenshot%20from%202016-02-17%2005:59:12.pnghi, do you know how should i run this example on Ubuntu?
the errors are as follows:
whf@whf:~$ cd palabos-v1.5r1/examples/showCases/aneurysm/
whf@whf:~/palabos-v1.5r1/examples/showCases/aneurysm$ ./aneurysm_bounceback
Wrong parameters; the syntax is: ./aneurysm_bounceback parameter-input-file.xml
whf@whf:~/palabos-v1.5r1/examples/showCases/aneurysm$ (Palabos) param
bash: syntax error near unexpected token param' whf@whf:~/palabos-v1.5r1/examples/showCases/aneurysm$ (Palabos) paramXmlFileName.xml bash: syntax error near unexpected tokenparamXmlFileName.xml’
whf@whf:~/palabos-v1.5r1/examples/showCases/aneurysm$