예제 #1
0
    # trace_enable()

    mesh.activate_field(temperature)
    mesh.activate_equation(heat_eqn)

    mesh.equilibrate(maxiters, tolerance, krylov_dim)

    if psfilename:
        thermalOutput = output.outputTypes['scalar field'].clone()
        thermalOutput.plugParameter(temperature, "field")
        rscl = outputClones.RescaleOutput.clone()
        rscl.plugInput(thermalOutput)
        rscl.plugParameter(0.0, "minimum")
        rscl.plugParameter(1.0, "maximum")

        import psoutput
        import display
        import displaymethods
        import color
        psdriver = psoutput.PSoutput(psfilename)

        display = display.Display()
        fill = display.add_method(
            displaymethods.CenterFillDisplay(outputClones.posOutput, rscl))
        fill.set_param('colormap', color.SpectralMap(saturation=0.9))
        display.draw(mesh, psdriver)

except ErrSetupError, s:
    print "Caught ErrSetupError."
    print "Message string: " + s.message()
예제 #2
0
        colordisp = display.add_method(
            displaymethods.CenterFillDisplay(outputClones.posOutput,
                                             outputClones.MaterialColorOutput))
        colordisp.set_param('colormap', color.graymap)

    if do_edges:
        edgedisp = display.add_method(
            displaymethods.EdgeDisplay(outputClones.posOutput))
        edgedisp.set_param('width', 0.001)
        edgedisp.set_param('color', color.Gray(0.5))

    if do_contours:
        cdisp = display.add_method(
            contourdisplay.PlainContourDisplay(outputClones.posOutput,
                                               funcOutput))
        cdisp.set_param('width', 0.005)
        cdisp.set_param('color', color.blue)
        cdisp.set_param('levels', nlevels)
        cdisp.set_param('nbins', contourbins)

    # get an output device
    import psoutput
    device = psoutput.PSoutput(psfilename)

    if proffile:
        import profiler
        prof = profiler.Profiler(proffile)
    display.draw(mesh, device)
    if proffile:
        prof.stop()
예제 #3
0
    mesh.equilibrate(maxiters, tolerance, krylov_dim)

    if outfile:
        import display
        display = display.Display()

        import color
        import displaymethods

        edgedisp = display.add_method(
            displaymethods.EdgeDisplay(outputClones.posOutput))
        edgedisp.set_param('width', 0.001)
        edgedisp.set_param('color', color.Gray(0.5))

        import psoutput
        device = psoutput.PSoutput(outfile)

        display.draw(mesh, device)

##        import psgfx
##        deformOutput = outputClones.VectorFieldOutput.clone()
##        deformOutput.plugParameter(displacement,"field")
##        positionSum = outputClones.VFieldSumOutput.clone()
##        positionSum.plugInput(deformOutput)
##        positionSum.plugInput(meshGUI.posOutput)

##        psgfx.psoutput(mesh, outfile, psgfx.PSgeometry(),
##                       [positionSum, meshGUI.posOutput])

    else:
        for node in mesh.funcnode_iterator():