Exemple #1
0
    ooflib.engine.mesh.meshes,
    tip="The mesh on which to perform the analysis.")

time_param = placeholder.TimeParameter(
    'time', tip='Time at which to perform the analysis.')

bdy_param = meshparameters.MeshEdgeBdyParameter('boundary',
                                                tip="The boundary to analyze.")

analyzer_param = parameter.RegisteredParameter(
    'analyzer',
    meshbdyanalysis.MeshBdyAnalyzer,
    tip="Operation to perform on the boundary.")

destination_param = outputdestination.OutputDestinationParameter(
    'destination',
    value=outputdestination.msgWindowOutputDestination,
    tip="Where the data should be written.")


def _meshBdyAnalyze(menuitem, mesh, time, boundary, analyzer, destination):
    meshctxt = ooflib.engine.mesh.meshes[mesh]
    meshctxt.begin_reading()
    try:
        meshctxt.precompute_all_subproblems()
        t = meshctxt.getTime(time)
        meshctxt.restoreCachedData(t)
        try:
            destination.open()
            destination.printHeadersIfNeeded(analyzer, boundary)
            analyzer.analyze(meshctxt, t, boundary, destination)
            destination.close()
                tip="A name for the new output operation."),
            parameter.RegisteredParameter(
                'output',
                scheduledoutput.ScheduledOutput,
                tip="The output operation."))
    + parameter.ParameterGroup(
        parameter.RegisteredParameter(
            'scheduletype',
            outputschedule.ScheduleType,
            tip='How to interpret the schedule.'),
        outputschedule.OutputScheduleParameter(
            'schedule',
            tip="When to produce the output."))
    + parameter.ParameterGroup(
        outputdestination.OutputDestinationParameter(
            'destination',
            tip="Where the output should go.")),
    help="Create an output operation to be performed during a time evolution.",
    discussion=xmlmenudump.loadFile('DISCUSSIONS/engine/menu/newschedout.xml')
    ))

outputIOmenu.addItem(outputmenu.New.clone(
        discussion="<para>Used internally in data files.</para>"
))

#=--=##=--=##=--=##=--=##=--=##=--=##=--=##=--=##=--=##=--=##=--=##=--=#

def _copyOutput(menuitem, mesh, source, targetmesh, copy):
    meshctxt = ooflib.engine.mesh.meshes[mesh]
    targetmeshctxt = ooflib.engine.mesh.meshes[targetmesh]
    targetmeshctxt.begin_writing()