diff --git a/agrolib/soilFluxes3D/header/soilFluxes3D.h b/agrolib/soilFluxes3D/header/soilFluxes3D.h index 28d51d5ad..9c8ebd079 100644 --- a/agrolib/soilFluxes3D/header/soilFluxes3D.h +++ b/agrolib/soilFluxes3D/header/soilFluxes3D.h @@ -49,7 +49,7 @@ __EXTERN int DLL_EXPORT __STDCALL setNodeSurface(long nodeIndex, int surfaceIndex); // WATER - __EXTERN int DLL_EXPORT __STDCALL setHydraulicProperties(int waterRetentionCurve, int conductivityMeanType, float horizVertRatioConductivity); + __EXTERN int DLL_EXPORT __STDCALL setHydraulicProperties(int waterRetentionCurve, int conductivityMeanType, float conductivityHorizVertRatio); __EXTERN int DLL_EXPORT __STDCALL setWaterContent(long index, double myWaterContent); __EXTERN int DLL_EXPORT __STDCALL setDegreeOfSaturation(long nodeIndex, double degreeOfSaturation); __EXTERN int DLL_EXPORT __STDCALL setMatricPotential(long index, double psi); diff --git a/agrolib/soilFluxes3D/header/solver.h b/agrolib/soilFluxes3D/header/solver.h index ba8739c26..52195724a 100644 --- a/agrolib/soilFluxes3D/header/solver.h +++ b/agrolib/soilFluxes3D/header/solver.h @@ -1,7 +1,7 @@ #ifndef SOLVER_H #define SOLVER_H - inline double square(double x) {return ((x)*(x));} + inline double square(double x) { return ((x)*(x)); } double distance(unsigned long index1, unsigned long index2); diff --git a/agrolib/soilFluxes3D/soilFluxes3D.cpp b/agrolib/soilFluxes3D/soilFluxes3D.cpp index af54b8089..4cb717a9a 100644 --- a/agrolib/soilFluxes3D/soilFluxes3D.cpp +++ b/agrolib/soilFluxes3D/soilFluxes3D.cpp @@ -182,18 +182,18 @@ int DLL_EXPORT __STDCALL setNumericalParameters(float minDeltaT, float maxDeltaT * k_lateral_vertical_ratio = 10 * \param waterRetentionCurve * \param conductivityMeanType - * \param horizVertRatioConductivity + * \param conductivityHorizVertRatio * \return OK or PARAMETER_ERROR */ int DLL_EXPORT __STDCALL setHydraulicProperties(int waterRetentionCurve, - int conductivityMeanType, float horizVertRatioConductivity) + int conductivityMeanType, float conductivityHorizVertRatio) { myParameters.waterRetentionCurve = waterRetentionCurve; myParameters.meanType = conductivityMeanType; - if ((horizVertRatioConductivity >= 0.1) && (horizVertRatioConductivity <= 100)) + if ((conductivityHorizVertRatio >= 0.1) && (conductivityHorizVertRatio <= 100)) { - myParameters.k_lateral_vertical_ratio = horizVertRatioConductivity; + myParameters.k_lateral_vertical_ratio = conductivityHorizVertRatio; return CRIT3D_OK; } else diff --git a/bin/CRITERIA3D/dialogWaterFluxesSettings.h b/bin/CRITERIA3D/dialogWaterFluxesSettings.h index 485c2c6d9..94aec6d13 100644 --- a/bin/CRITERIA3D/dialogWaterFluxesSettings.h +++ b/bin/CRITERIA3D/dialogWaterFluxesSettings.h @@ -13,6 +13,7 @@ QLineEdit *initialWaterPotentialEdit; QLineEdit *initialDegreeOfSaturationEdit; QLineEdit *imposedComputationDepthEdit; + QLineEdit *conductivityHVRatioEdit; bool _isUpdateAccuracy; @@ -34,6 +35,12 @@ DialogWaterFluxesSettings(); + double getConductivityHVRatio() const + { return conductivityHVRatioEdit->text().toDouble(); } + + void setConductivityHVRatio(double value) + { conductivityHVRatioEdit->setText(QString::number(value)); } + double getInitialWaterPotential() const { return initialWaterPotentialEdit->text().toDouble(); } diff --git a/bin/CRITERIA3D/shared/project3D.cpp b/bin/CRITERIA3D/shared/project3D.cpp index 30c226cf7..067abb60b 100644 --- a/bin/CRITERIA3D/shared/project3D.cpp +++ b/bin/CRITERIA3D/shared/project3D.cpp @@ -61,7 +61,7 @@ void WaterFluxesParameters::initialize() initialDegreeOfSaturation = 0.8; // [-] imposedComputationDepth = 1.0; // [m] - horizVertRatioConductivity = 10.0; // [-] default: ten times + conductivityHorizVertRatio = 10.0; // [-] default: ten times modelAccuracy = 3; // [-] default: error on the third digit } @@ -373,7 +373,7 @@ bool Project3D::initialize3DModel() } logInfo("Node properties initialized"); - soilFluxes3D::setHydraulicProperties(MODIFIEDVANGENUCHTEN, MEAN_LOGARITHMIC, waterFluxesParameters.horizVertRatioConductivity); + soilFluxes3D::setHydraulicProperties(MODIFIEDVANGENUCHTEN, MEAN_LOGARITHMIC, waterFluxesParameters.conductivityHorizVertRatio); double vmax = 10.0; // [m s-1] if (waterFluxesParameters.modelAccuracy < 3) diff --git a/bin/CRITERIA3D/shared/project3D.h b/bin/CRITERIA3D/shared/project3D.h index 2471d19b2..dc924c9e5 100644 --- a/bin/CRITERIA3D/shared/project3D.h +++ b/bin/CRITERIA3D/shared/project3D.h @@ -20,22 +20,24 @@ class WaterFluxesParameters { public: + bool computeOnlySurface; + bool computeAllSoilDepth; + + bool isInitialWaterPotential; double initialWaterPotential; // [m] double initialDegreeOfSaturation; // [-] - bool isInitialWaterPotential; double imposedComputationDepth; // [m] - double horizVertRatioConductivity; // [-] + double conductivityHorizVertRatio; // [-] int modelAccuracy; // [-] bool freeCatchmentRunoff; bool freeLateralDrainage; bool freeBottomDrainage; - bool computeOnlySurface; - bool computeAllSoilDepth; WaterFluxesParameters(); + void initialize(); };