On 05.08.19 11:23, Joan Delort Ylla wrote:
Dear DuMux Users,
I am working with a 2pncNImin problem in a system using the pseudo
component Brine together with CO2 and H2.
For what I understand the properties of H2O, CO2 and Brine are
tabulated in my problem. Here's an exert of my fluidsystems file :
/*!
* \brief Initialize the fluid system's static parameters
generically
*
* If a tabulated H2O/Brine component is used, we do our best
to create tables that always work.
*/
static void init()
{
init(/*tempMin=*/273.15, /* 0 °C */
/*tempMax=*/573.15, /* 300 °C, MAX is 350 °C */
/*numTemp=*/1000,
/*pMin=*/0.1e6,
/*pMax=*/100e6,/* 100 MPa, MAX is 100 MPa*/
/*numP=*/10000);
}
/*!
* \brief Initialize the fluid system's static parameters using
* problem specific temperature and pressure ranges
*
* \param tempMin The minimum temperature used for tabulation
of water \f$\mathrm{[K]}\f$
* \param tempMax The maximum temperature used for tabulation
of water \f$\mathrm{[K]}\f$
* \param nTemp The number of ticks on the temperature axis of
the table of water
* \param pressMin The minimum pressure used for tabulation of
water \f$\mathrm{[Pa]}\f$
* \param pressMax The maximum pressure used for tabulation of
water \f$\mathrm{[Pa]}\f$
* \param nPress The number of ticks on the pressure axis of
the table of water
*/
static void init(Scalar tempMin, Scalar tempMax, unsigned nTemp,
Scalar pressMin, Scalar pressMax, unsigned nPress)
{
if (useComplexRelations)
std::cout << "Using complex BRINE-CO2-H2 fluid system\n";
else
std::cout << "Using fast BRINE-CO2-H2 fluid system\n";
if (H2O::isTabulated)
{
std::cout << "Initializing tables for the H2O fluid
properties ("
<< nTemp*nPress
<< " entries).\n";
TabulatedH2O::init(tempMin, tempMax, nTemp, pressMin,
pressMax, nPress);
}
if (Brine::isTabulated)
{
std::cout << "Initializing tables for the brine fluid
properties. ("
<< nTemp*nPress
<< " entries).\n";
Brine::init(tempMin, tempMax, nTemp, pressMin, pressMax,
nPress);
}
if (CO2::isTabulated)
{
std::cout << "Initializing tables for the brine fluid
properties. ("
<< nTemp*nPress
<< " entries).\n";
Brine::init(tempMin, tempMax, nTemp, pressMin, pressMax,
nPress);
}
}
Note that I use tables of size 1e7 !! Nonetheless I get the following
warning when running my application :
FORWARD METHOD CALL liquidDensity(573.15, 6.24561e+06) OF
COMPONENT 'H2O'. TABULATION TOO SMALL?
Subcritical values: Be aware to use Tables with sufficient
resolution!
This doesn't seem to make sense as *the temperatures are always within
the range [320, 350] K (~[50, 90]°C) during the simulation*.
Hi Joan,
even if the temperature solution is in this range it doesn't mean that
in some intermediate Newton step (before convergence) the temperature
might be outside this range. In case the value is outside the
tabulation, the value is just computed with the function provided by the
fluid system. It is thus slightly slower than using the tabularized
values. If this occurs very often you might be able to speed-up your
simulation by tabulating slightly more temperature values. In any case
it shouldn't do anything bad to your results.
Actually, the warning message is a bit too aggressive for my taste. I'll
open an issue on GitLab for that.
I attach the log file from the run (although everything seems normal).
These Warnings/Errors come along with an error from the cluster I run
my application on (Note that I run the app in parallel), i.e. for one
node :
[eu-a6-010-16:10119] *** Process received signal ***
[eu-a6-010-16:10119] Signal: Bus error (7)
[eu-a6-010-16:10119] Signal code: Non-existant physical address (2)
[eu-a6-010-16:10119] Failing at address: 0xddb1a4
Although this is not directly related to DuMux, it seems to be a
memory problem ? Could that have any link to the previous warning/error ?
I don't think this is related to the warning above. You should probably
profile your program with some memory tool like valgrind or
address-sanitizer. If the memory problem comes from Dumux code, please
be so kind and provide the output of valgrind (compile program in debug
mode). You might not need to go to the cluster to test this. It could
just be that a wrong memory access never caused trouble on your machine
so far. You should still be able to detect it.
Best wishes
Timo
Many thanks in advance for your help.
Joan
_______________________________________________
Dumux mailing list
Dumux@listserv.uni-stuttgart.de
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux
--
_______________________________________________________________
Timo Koch phone: +49 711 685 64676
IWS, Universität Stuttgart fax: +49 711 685 60430
Pfaffenwaldring 61 email: timo.k...@iws.uni-stuttgart.de
D-70569 Stuttgart url: www.hydrosys.uni-stuttgart.de
_______________________________________________________________
_______________________________________________
Dumux mailing list
Dumux@listserv.uni-stuttgart.de
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux