Location: Deforming Heart @ b51addc2f65f / FieldML / heart.xml

Author:
Randall Britten <r.britten@auckland.ac.nz>
Date:
2010-10-15 16:56:58+13:00
Desc:
Demonstration of FieldML 0.2 beta format by Richard Christie, Caton Little and Randall Britten. FieldML 0.2 beta does have support for time varying DOFs, however, none of the FieldML 0.2 capable software has support for time varying DOFs read from FieldML, hence a workaround is used for this demonstration, and is intended to be fixed in the near future.
Permanent Source URI:
http://models.cellml.org/workspace/deformingheart/rawfile/b51addc2f65f56bddfb3b6964dd7d2dffdb53081/FieldML/heart.xml

<?xml version="1.0" encoding="UTF-8"?>
<fieldml version="0.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:noNamespaceSchemaLocation="Fieldml.xsd">
 <Region name="heart">

  <EnsembleDomain name="heart_mesh.nodes">
   <bounds>
    <ContiguousEnsembleBounds valueCount="5045" />
   </bounds>
  </EnsembleDomain>


  <MeshDomain name="heart_mesh.domain" xiComponentDomain="library.ensemble.xi.3d">
   <bounds>
    <ContiguousEnsembleBounds valueCount="3840"/>
   </bounds>
   <shapes default="library.shape.cube" />
   <pointConnectivity>
    <SimpleMapEntry key="heart_mesh.cube2x2x2_nodes" value="library.local_nodes.cube.2x2x2" />
   </pointConnectivity>
  </MeshDomain>


  <ContinuousVariableEvaluator name="heart_mesh.nodal_dofs" valueDomain="library.real.1d" />


  <ContinuousReferenceEvaluator evaluator="heart_mesh.nodal_dofs" name="heart_mesh.element_params.trilinear_lagrange" valueDomain="library.real.1d">
   <aliases>
    <SimpleMapEntry key="heart_mesh.nodes" value="heart_mesh.cube2x2x2_nodes" />
   </aliases>
  </ContinuousReferenceEvaluator>


  <ContinuousReferenceEvaluator evaluator="library.fem.trilinear_lagrange" name="heart_mesh.trilinear_lagrange" valueDomain="library.real.1d">
   <aliases>
    <SimpleMapEntry key="library.xi.3d" value="heart_mesh.domain.xi" />
    <SimpleMapEntry key="library.parameters.trilinear_lagrange" value="heart_mesh.element_params.trilinear_lagrange" />
   </aliases>
  </ContinuousReferenceEvaluator>


  <ContinuousPiecewiseEvaluator indexDomain="heart_mesh.domain.elements" name="heart_mesh.template.trilinear" valueDomain="library.real.1d">
   <elementEvaluators default="heart_mesh.trilinear_lagrange" />
  </ContinuousPiecewiseEvaluator>


  <ContinuousParameters name="heart_mesh.node.coordinates" valueDomain="library.real.1d">
   <SemidenseData>
    <denseIndexes>
     <entry value="library.ensemble.rc.3d" />
     <entry value="heart_mesh.nodes" />
    </denseIndexes>
    <dataLocation>
     <!--
      The first 5045 lines of this data file list 3 RC coordinates for each of 5045 heart mesh nodes
      at the first of 25 time indexes = the reference state. Coordinates at subsequent time indexes
      follow consecutively; set the line offset to multiples of the number of nodes to read these.
     -->
     <fileData file="heart_mesh.time.node.coordinates" type="lines" offset="0" />
    </dataLocation>
   </SemidenseData>
  </ContinuousParameters>


  <EnsembleParameters name="heart_mesh.cube2x2x2_nodes" valueDomain="heart_mesh.nodes">
   <SemidenseData>
    <denseIndexes>
     <entry value="library.local_nodes.cube.2x2x2" />
     <entry value="heart_mesh.domain.elements" />
    </denseIndexes>
    <dataLocation>
     <fileData file="heart_mesh.connectivity" type="lines" offset="0" />
    </dataLocation>
   </SemidenseData>
  </EnsembleParameters>


  <ContinuousAggregateEvaluator name="heart_mesh.coordinates" valueDomain="library.coordinates.rc.3d">
   <markup>
    <SimpleMapEntry key="field" value="true"/>
   </markup>
   <aliases>
    <SimpleMapEntry key="heart_mesh.nodal_dofs" value="heart_mesh.node.coordinates" />
   </aliases>
   <sourceFields>
    <SimpleMapEntry key="1" value="heart_mesh.template.trilinear" />
    <SimpleMapEntry key="2" value="heart_mesh.template.trilinear" />
    <SimpleMapEntry key="3" value="heart_mesh.template.trilinear" />
   </sourceFields>
  </ContinuousAggregateEvaluator>


 </Region>
</fieldml>