Skip to content

Geo/partial saturation tests#13562

Merged
WPK4FEM merged 6 commits intomasterfrom
geo/partial_saturation_tests
Jul 2, 2025
Merged

Geo/partial saturation tests#13562
WPK4FEM merged 6 commits intomasterfrom
geo/partial_saturation_tests

Conversation

@WPK4FEM
Copy link
Contributor

@WPK4FEM WPK4FEM commented Jun 25, 2025

📝 Description
Changes to partially saturated tests.

🆕 Changelog

  • Changed the tests using steady state Pw to transient Pw ( I think that was originally the intention )
  • Added suction ( positive pressure ) on the hydrostatic boundary conditions, to get away from the step function for the relative permeability, Bishop coefficient etc ) at zero pressure
  • added test ( for regression, no documentation so far ) for climbing and falling phreatic line during a time span.

@WPK4FEM WPK4FEM requested a review from a team as a code owner June 25, 2025 12:59
@WPK4FEM WPK4FEM self-assigned this Jun 25, 2025
Copy link
Contributor

@mnabideltares mnabideltares left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@WPK4FEM
Thank you for this nice work.
Generally looks good to me, however I have minor comments.


# assert if average error in all stages is below accuracy
accuracy = 1.0e-7
accuracy = 1.0e-3
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The accuracy is decreased here. It may happen that the tests are still not converging, but it hits thir criterium?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Checked that they are converging.

@@ -0,0 +1,179 @@
{
"problem_data": {
"problem_name": "mesh",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Problem_name preferly to describe the type of problem. Setting it as "mesh" is not descriptive.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed to "rising_falling_phreatic_level"

"problem_data": {
"problem_name": "mesh",
"start_time": 0.0,
"end_time": 29.0,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any specific reason to set it to 29? Why not 30?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is designed this way to have regular human recognizable phreatic levels a the chosen time points.

},
"time_stepping": {
"time_step": 1.0,
"max_delta_time_factor": 1.0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As increase_factor is set to 1, this "max_delta_time_factor" is not necessary.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed.

"block_builder": true,
"solution_type": "Quasi-Static",
"scheme_type": "Backward_Euler",
"reset_displacements": true,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a single stage calculation. Do we still need reset_displacement?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, strictly speaking not. Removed the setting.

"model_part_name": "PorousDomain.TopWaterPressure",
"variable_name": "WATER_PRESSURE",
"is_fixed": true,
"table": [1,1],
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A bit confused here. The Pressure is scalar, but "table": [1,1] is used, while I am expecting "table":1. Or maybe "Phreatic_Multi_Line" requires this?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are 2 points that define the Phreatic_Multi_line here. The tables give the change in head for each point in time.

"model_part_name": "PorousDomain.BottomWaterPressure",
"variable_name": "WATER_PRESSURE",
"is_fixed": true,
"table": [1,1],
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above, "table": 1?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see previous response.

"model_part_name": "PorousDomain.InitialWaterPressure",
"variable_name": "WATER_PRESSURE",
"is_fixed": false,
"table": [0,0],
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see previous response


Begin SubModelPart BottomWaterPressure
Begin SubModelPartTables
1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The TopWaterPressure and BottomWaterPressure share the same table. Is it done intentially?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes this is intentional. Boundary conditions are chosen such that the same phreatic level is set on both ends of the mesh.

"time_stepping": {
"time_step" : 1.0,
"time_step" : 0.1,
"max_delta_time_factor" : 1.0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"increase_factor" : 1.0, then "max_delta_time_factor" not necessary

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed the setting here and all other project parameters files within test_partial_saturation

@WPK4FEM WPK4FEM requested a review from mnabideltares June 30, 2025 12:48
Copy link
Contributor

@mnabideltares mnabideltares left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@WPK4FEM
Thank you for changes. It looks OK to me

@WPK4FEM WPK4FEM merged commit 61c6af9 into master Jul 2, 2025
11 checks passed
@WPK4FEM WPK4FEM deleted the geo/partial_saturation_tests branch July 2, 2025 12:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants