Skip to content

feat: Friction Driver#3901

Draft
jafranc wants to merge 9 commits intodevelopfrom
jafranc/feat/ALMDriver
Draft

feat: Friction Driver#3901
jafranc wants to merge 9 commits intodevelopfrom
jafranc/feat/ALMDriver

Conversation

@jafranc
Copy link
Copy Markdown
Contributor

@jafranc jafranc commented Nov 4, 2025

Create a FrictionDriver to map states. tau lim wrt displacement jumps and tractions.
As relperm driver under specification of jumps and traction output predicted state and tau limit

<?xml version="1.0" ?>

<Problem>
  <!-- SPHINX_TASK -->
  <Tasks>
    <FrictionDriver
      name="frictionDriver"
      friction="fractureContact"
      jumpControl="jFunction"
      xTiltAngle="80"
      tractionControl="tFunction"
      steps="10" 
      output="FrictionDriver.txt" />
  </Tasks>
  <!-- SPHINX_TASK_END -->

  <Included>
    <File name="./frictionDriver_base.xml"/>
  </Included>
</Problem>

with base description:

<?xml version="1.0" ?>

<Problem>
  <Events
    maxTime="1">
    <SoloEvent
      name="frictionDriver"
      target="/Tasks/frictionDriver"/>
  </Events>

  <Constitutive>  
    <Coulomb
      name="fractureContact"
      cohesion="0.0e6"
      frictionCoefficient="0.01"/>
  </Constitutiv>

  <Functions>
    <TableFunction
      name="jFunction"
      inputVarNames="{ time }"
      coordinateFiles="{ tables/time.geos }"
      voxelFile="tables/jumps.geos"/>

    <TableFunction
      name="tFunction"
      inputVarNames="{ time }"
      coordinateFiles="{ tables/time.geos }"
      voxelFile="tables/tractions.geos"/>
  </Functions>

  <Mesh>
    <InternalMesh
      name="mesh1"
      elementTypes="{ C3D8 }"
      xCoords="{ 0, 1 }"
      yCoords="{ 0, 1 }"
      zCoords="{ 0, 1 }"
      nx="{ 1 }"
      ny="{ 1 }"
      nz="{ 1 }"
      cellBlockNames="{ cellBlock01 }"/>
  </Mesh>

  <ElementRegions>
    <CellElementRegion
      name="dummy"
      cellBlocks="{ * }"
      materialList="{ dummy }"/>
  </ElementRegions>
</Problem>

Providing the output:

# column 1 = index 
# column 2-3 = normal and in-plane displacement jump
# columns 5-7 = normal and in-place tractions
# columns 8 = fracture state (0:Stick,1-2:[new]Slip,3:Open)
# columns 9 = tau lim
0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 0.0000e+00 
5.0000e-01 4.9240e-04 8.6824e-05 8.6824e-05 0.0000e+00 0.0000e+00 0.0000e+00 3.0000e+00 0.0000e+00 
1.0000e+00 9.8481e-04 1.7365e-04 1.7365e-04 0.0000e+00 0.0000e+00 0.0000e+00 3.0000e+00 0.0000e+00 
1.5000e+00 1.4772e-03 2.6047e-04 2.6047e-04 0.0000e+00 0.0000e+00 0.0000e+00 3.0000e+00 0.0000e+00 
2.0000e+00 1.9696e-03 3.4730e-04 3.4730e-04 0.0000e+00 0.0000e+00 0.0000e+00 3.0000e+00 0.0000e+00 
2.5000e+00 2.4620e-03 4.3412e-04 4.3412e-04 0.0000e+00 0.0000e+00 0.0000e+00 3.0000e+00 0.0000e+00 
3.0000e+00 2.9544e-03 5.2094e-04 5.2094e-04 0.0000e+00 0.0000e+00 0.0000e+00 3.0000e+00 0.0000e+00 

@jafranc jafranc self-assigned this Nov 4, 2025
@jafranc jafranc changed the title starting implementation feat: Friction Driver Nov 5, 2025
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.

3 participants