Skip to content

Analysis & Postprocessing

Postprocessing results

123 Topics 374 Posts
  • 0 Votes
    2 Posts
    1k Views
    V
    Hello, Sorry but I am thinking of using a time-gate for my own experiment and wondered if you managed to get it working? Thanks
  • Combine ports in MATCH for shared matching/tuning network

    1
    0 Votes
    1 Posts
    400 Views
    No one has replied
  • How to switch between linear/log in 2D plot?

    2
    1 Votes
    2 Posts
    696 Views
    G
    For future reference: Okay I just found out that the unit for the y-axis must be set in the "Properties" window of the plot.
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    2 Views
    No one has replied
  • Automatic Coil Tuning with the MATCH-Toolbox

    1
    0 Votes
    1 Posts
    415 Views
    No one has replied
  • Optimizer Disabled

    1
    0 Votes
    1 Posts
    386 Views
    No one has replied
  • Half Power Beam Width

    1
    0 Votes
    1 Posts
    390 Views
    No one has replied
  • 0 Votes
    5 Posts
    2k Views
    E
    So definitely max gain it is not useful for my purposes. I wanna construct a more symmetrical radiation pattern and maximize the gain in a certain direction. And of course, I would like to know which parameters I should set up to get such purposes.
  • I can't control the beam direction of circular array antenna

    1
    0 Votes
    1 Posts
    336 Views
    No one has replied
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    14 Views
    No one has replied
  • Sincerely ask everyone

    1
    0 Votes
    1 Posts
    417 Views
    No one has replied
  • Sim4Life Light plot convergence level

    1
    0 Votes
    1 Posts
    381 Views
    No one has replied
  • Solve the problem that failed

    1
    0 Votes
    1 Posts
    360 Views
    No one has replied
  • The SIM4Life Light version deals with meshing during simulation

    1
    0 Votes
    1 Posts
    388 Views
    No one has replied
  • Amplitude modulation greater than the combined field

    2
    0 Votes
    2 Posts
    708 Views
    L
    Update: I manually summed the fields and got an answer that makes more sense (sum is always greater than amplitude modulation). I am not sure where it is going wrong when I am using the field combiner.
  • SetUp Field Crop Filter

    python
    2
    1 Votes
    2 Posts
    979 Views
    SylvainS
    In general, an easy way to create a postprocessing script is to first do it in the GUI and then use the "To-Python" function (available via right-click on the algorithm in the Explorer window). Here is what the auto-generated script looks like for a simple pipeline with a Crop Filter: # Creating the analysis pipeline # Adding a new SimulationExtractor simulation = document.AllSimulations["EM"] simulation_extractor = simulation.Results() # Adding a new EmSensorExtractor em_sensor_extractor = simulation_extractor["Overall Field"] em_sensor_extractor.FrequencySettings.ExtractedFrequency = u"All" em_sensor_extractor.Normalization.Normalize = True em_sensor_extractor.SurfaceCurrent.SurfaceResolution = 0.001, units.Meters document.AllAlgorithms.Add(em_sensor_extractor) # Adding a new FieldCropFilter inputs = [em_sensor_extractor.Outputs["EM E(x,y,z,f0)"]] field_crop_filter = analysis.core.FieldCropFilter(inputs=inputs) field_crop_filter.LowerExtent = numpy.array([1, 3, 2]) field_crop_filter.UpperExtent = numpy.array([21, 21, 21]) field_crop_filter.UpdateAttributes() document.AllAlgorithms.Add(field_crop_filter) Note fyi that you don't actually need to pass a Numpy array to UpperExtent or LowerExtent, it also works if you pass any iterable, like a list or a tuple.
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    9 Views
    No one has replied
  • 0 Votes
    2 Posts
    1k Views
    SylvainS
    In Sim4Life, the complex field S(x,y,z,f0) is (one half of) the cross product of the complex fields E(x,y,z,f0) and H(x,y,z,f0), both of which are the complex representation of harmonic fields (actually S = 0.5 E cross H*, where H* is the complex conjugate of H) The time-averaged Poynting vector (if you want the power flow) is given by Re(S) See the Wikipedia article (https://en.wikipedia.org/wiki/Poynting_vector) for more detail. EDIT: this post was corrected to reflect the notations used in Sim4Life, namley that S(x,y,z,f0) is already the time-averaged quantity and includes the factor 1/2.
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    16 Views
    No one has replied
  • How to export the high quality of results images from Analysis section

    2
    0 Votes
    2 Posts
    1k Views
    M
    I typically just take screenshots (I recommend SnagIt since it 'snaps' screenshots to subwindows (for example, just the rendering window). Alternatively, for reproducibility, I sometimes use a script to take screenshots. There's a third way (unfortunately not so reliable), which is to use the built in Screen shot grabber ... Go to 3D View -> Screen Capture (you need to configure it first ... I say it's unreliable because saving a particular '3D View' (Camera Settings -> Save) doesn't work well when you reimport it (views get forgotten or overwritten) For the script I do something like this. I create a wireframe, zoom to it, and then use the following script (which you'll need to tweak via trial and error since you might get weird behavior for the color bars and ruler, axis, etc). #Manual Record Screenshot import s4l_v1 as s4l import XCoreModeling import XRendererUI import XCoreUI bb = "CameraBoundingBox" e_cam = s4l.model.AllEntities()[bb] bb_pts = XCoreModeling.GetBoundingBox([e_cam]) oglview = XCoreUI.GetUIApp().Frame.MainView[0] oglview.ZoomTo(bb_pts[0], bb_pts[1]) x_size = bb_pts[1][0]-bb_pts[0][0] z_size = bb_pts[1][2]-bb_pts[0][2] img_dim = [x_size,z_size] screen_prefix = "Test" screen_name = "Test" XRendererUI.SaveScreenCapture(width = int(1000*img_dim[0]/img_dim[1]), height = 1000, \ transparent_background = False, output_folder=r"C:\Users\montanaro\Desktop\Screen", \ output_prefix=screen_prefix+screen_name)