How to add vtkOriginalPointIds in vtu?

I am trying to replicate the InjectionProduction1D benchmark, but I am getting an error :

You are trying to build a local assembler for an unknown mesh element type (N7MeshLib15TemplateElementINS_9LineRule2EEE). Maybe you have disabled this mesh element type in your build configuration, or a mesh element order does not match the shape function order given in the project file.

Upon inspection, I found that my mesh_top.vtu file is missing vtkOriginalCellIds and vtkOriginalPointIds.

My mesh_top.vtu:


benchmark mesh_top.vtu:

You don’t need vtkOriginalCellIds and vtkOriginalPointIds.

I’m not familiar with mesh element type naming above, but the error very likely refers to what it says, i.e. the order referenced in process_variable and the mesh element order doesn’t match up.
I guess you are working with the HM process, i.e. 1D is actually 2D.
The InjectionProduction1D benchmark in HM uses Taylor-Hood elements, meaning you have order 2 for displacement and order 1 for pressure. This means your mesh needs to be quadratic as well, i.e. bulk elements should be quadratic-quads and boundary elements quadratic edges as in the original benchmark. There is a tool in the binary folder that can convert linear to quadratic meshes and the other way around. It is probably possible to use linear order for all primary variables (and the mesh) as well if you don’t run into numerical issues.

Thank you for your help. I am not quite sure whether the grid is related to the type of boundary conditions. The model runs smoothly with the same grid when I use Dirichlet boundary conditions, but I encounter the aforementioned error with Neumann boundary conditions.I have attached my model.
N_D.zip (625.0 KB)

I didn’t compile OGS for HM, so I didn’t test your files, but just from looking at the input, it is exactly what I wrote above.
You have a linear mesh, but it says in the input you have quadratic order for displacement. You need to change it to 1.

What actually surprises me, that it worked for the Dirichlet case. This is either a bug or a feature. From what I see, it is process specific behavior. @dmitri.naumov can you comment on that?

Thank you again for your response. I have a few more questions I’d like to learn from you:

As a beginner, when I’m modeling a new problem, I first find a benchmark suitable for the problem, then modify its mesh and other parameters. I’m not sure if this workflow is reasonable because I encounter various issues every time I modify the mesh.

If I want to analyze the mechanical response of the reservoir under the THM coupling effect during CO2 geological sequestration, is there an appropriate benchmark I can refer to?

Looks like a bug. The quadratic order should not run on linear mesh. Looking into it.

– Thanks!
d

1 Like

CO2 sequestration is not my field of expertise, however, I think it was discussed several times in the discourse. This probably refers to things that were done in OGS5: CO2 Sequestration model
Once you picked the right process the differences between different benchmarks are not that big, so every benchmark can be adapted and you can copy & paste the features where you need them.

Thank you for your help.