Dear DuMux Team,
I hope this email finds you well and safe.
I am writing to kindly ask the following:
Given:
1. I am using porous medium flow model {injection Problem similar to the
posted example on GitLab)
2.
3. I am using PorosityAtPos ( const GlobalPos& globalPos) const
4.
5. {
if (isInCement_(globalPos)) {
cementPorosity_ = a*std::pow(fc,3) + b*std::pow(fc,2) + c*fc + d; //
a,b,c and d are constants
return cementPorsoity_;
}
else if (isInAquifer_(globalPos))
return aquiferPorosity_;
else
return overburdenPorosity_;
}
1.
2.
I am using permabilityAtPos ( const GlobalPos& globalPos) const
3.
4. {
Scalar cementPor_;
Scalar cementK_;
const Scalar dc_Porosity = 0.3;
Scalar InitialCementK_ = 8.645e-13;
if (isInCement_(globalPos))
{
cementPor_ = porosityAtPos( globalPos); // calling porosity
function
cementK_ = InitialCementK_ *(std::pow(((1-dc_Porosity)/(1-
cementPor_)),2) *(std::pow(( cementPor_/dc_Porosity), 3)));
std::cout<< " Porosity:"<< cementPor_ <<" Permeability:"<< cementK_
<< std::endl;
return cementK_;
}
else if (isInAquifer_(globalPos))
return aquiferK_;
else
return overburdenK_;
}
1. I am using the function to return the permeability for additional vtk
output
2.
3. const std::vector<Scalar>& getpermeability()
{
return permeability_;
}
4. I am using function that updates the permeability for additional vtk
output
5.
6. void updateVtkOutput(const SolutionVector& curSol)
{
auto fvGeometry = localView(this->gridGeometry());
for (const auto& element : elements(this->gridGeometry().gridView()))
{
const auto elemSol = elementSolution(element, curSol,
this->gridGeometry());
fvGeometry.bindElement(element);
for (auto&& scv : scvs(fvGeometry))
{
VolumeVariables volVars;
volVars.update(elemSol, *this, element, scv);
const auto dofIdxGlobal = scv.dofIndex();
permeability_[dofIdxGlobal] = volVars.permeability();
}
}
}
7.
8. I added the function to return the permeability for additional vtk output
in the main.cc
vtkWriter.addField(problem->getpermeability(), "Permeability");
problem->updateVtkOutput(x);
vtkWriter.write(0.0);
Issue:
1) When I am printing the values of the permeability of the cement layer in the
terminal, I can see the different values of permeability (which is dependent on
porosity) and I can see the new porosity values of cement that I am getting
from a certain equation.
2) In the vtu files and paraview I can see also the different porosity values
of cement
3) However, in vtu files and paraview I can see only constant permeability
value of the cement layer which is the initial value (8.645e-13)
So, how can I fix this issue " view the different values of permeability of the
cement layer in vtu files (since only the initial cement permeability is
returned) knowing that I can view the new values of permeability while printing
them in the terminal'?
Thanks for your time and help.
Best Regards,
Mohammad Hodroj
_______________________________________________
DuMux mailing list
[email protected]
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux