Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Implement EDFM loading from VTK #3510

Open
wants to merge 50 commits into
base: develop
Choose a base branch
from
Open

Conversation

paveltomin
Copy link
Contributor

copy from #3082

Implement EDFM loading and tested it on a simple 2.5D EDFM case. Below is an input example containing 2 fracture elements:

  • fracture_ids_points: represent all the fracture patch point ids including shared points (no duplicates).
  • fracture_to_paren_matrix_cell_mapping: maps each edfm fracture element to matrix element.
  • permeability : fracture elements permeability (loaded but not used yet, we continue to use constant fracture props provided with CompressibleSolidParallelPlatesPermeability)
  • aperture: is fracture aperture
  • tangential_width_vectors, tangential_length_vectors and normal_vectors are the 3 principal vectors of a fracture patch plan.
  • connectivity: each patch is represented by a 4 points (quad).

image

<?xml version="1.0"?>
<VTKFile type="UnstructuredGrid" version="0.1" byte_order="LittleEndian" header_type="UInt32" compressor="vtkZLibDataCompressor">
  <UnstructuredGrid>
    <Piece NumberOfPoints="6" NumberOfCells="2">
      <PointData>
        <DataArray type="Int32" Name="fracture_ids_points" NumberOfComponents="1" format="ascii">
         0
         1
         2
         3
         4
         5
        </DataArray>
      </PointData>
      <CellData>
        <DataArray type="Int32" Name="fracture_to_parent_matrix_cell_mapping" NumberOfComponents="2" format="ascii">
         0 4
         1 13
        </DataArray>
        <DataArray type="Float32" Name="permeability" NumberOfComponents="1" format="ascii" RangeMin="0.1" RangeMax="0.1">
          0.1
          0.1
        </DataArray>
        <DataArray type="Float32" Name="aperture" NumberOfComponents="1" format="ascii" RangeMin="0.0001" RangeMax="0.0001">
          0.0001
          0.0001
        </DataArray>
        <DataArray type="Float32" Name="tangential_width_vectors" NumberOfComponents="3" format="ascii">
          0 0 1
          0 0 1
        </DataArray>
        <DataArray type="Float32" Name="tangential_length_vectors" NumberOfComponents="3" format="ascii">
          0 1 0
          0 1 0
        </DataArray>
        <DataArray type="Float32" Name="normal_vectors" NumberOfComponents="3" format="ascii">
          1 0 0
          1 0 0
        </DataArray>
      </CellData>
      <Points>
        <DataArray type="Float32" Name="Points" NumberOfComponents="3" format="ascii" RangeMin="0" RangeMax="1">
          0.5 0.3333 0
          0.5 0.6666 0
          0.5 0.3333 0.5
          0.5 0.6666 0.5
          0.5 0.3333 1
          0.5 0.6666 1
          <InformationKey name="L2_NORM_RANGE" location="vtkDataArray" length="2">
            <Value index="0">
              0
            </Value>
            <Value index="1">
              1
            </Value>
          </InformationKey>
        </DataArray>
      </Points>
      <Cells>
        <DataArray type="Int64" Name="connectivity" format="ascii" RangeMin="0" RangeMax="5">
        1 0 2 3
        3 2 4 5
        </DataArray>
        <DataArray type="Int64" Name="offsets" format="ascii" RangeMin="4" RangeMax="8">
          4
          8
        </DataArray>
        <DataArray type="UInt8" Name="types" format="ascii" RangeMin="9" RangeMax="9">
          9
          9
        </DataArray>
      </Cells>
    </Piece>
  </UnstructuredGrid>
</VTKFile>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants