Go-Smart Simulation Architecture XML Format (GSSA-XML)ΒΆ

Note: this is distinct from GSSF-XML.

GSSA-XML is documented as an XML Schema in the schema directory of the source tree. However, to provide a human-readable resource, it is described also here:

<simulationDefinition>
    <transferrer class="(http|tmp)">
        <!-- See Transferrers documentation -->
    </transferrer>
    <algorithms>
        <!-- See Algorithms documentation -->
    </algorithms>
    <parameters>
        <!-- See Parameters#concrete-parameters documentation -->
    </parameters>
    <numericalModel>
        <needles>
            <needle index="NIX" class="NCL" file="NFILE">
                <parameters>
                    <!-- See Parameters#concrete-parameters documentation -->
                </parameters>
            </needle>
            ...
        </needles>
        <regions>
            <region id="RID" name="RNAME" format="RFORMAT:(zone|surface|both)"
                input="RINPUT" groups="RGROUPS" />
            ...
        </regions>
        <definition name="DFAMILY" file="[ DFILE ]">
            <!-- Family-specific content (see documentation for each family) -->
        </definition>
    </numericalModel>
</simulationDefinition>

The needle index, NIX, indicates the name by which this needle should be referred to. They should be integers, ordering the needles contiguously. The class, NCL, identifies how a needle should be incorporated into the simulation and should either be solid-boundary or boundary. The exact needle definition is supplied by NFILE, which should be of the form library:LIBRARYTYPE or file:INPUTFILENAME.stl. Within each needle node is another list of needle-specific parameters.

Each region should have an RID that uniquely refers to them within the simulation. The RNAME is a context-providing name that may be used, such as organ or tumour. A simple way to generate IDs is to add an ordinal index to the name, e.g., tumour-1. The RFORMAT indicates how the region should be treated, as a zone, surface or both (volumetric subdomain, boundary, or embedded boundary). The RINPUT is the filename of the STL or VTP input file defining the surface. The collection of region groups of which this region is a member should be specified in the RGROUPS field, joined by “;”.

The definition DFAMILY selects the family that should handle the definition. Note that it may be provided as a TAR.GZ (allowing, for instance, Python modules) using the DFILE attribute, but is otherwise the body of the definition tag itself.