• Sim4Life V8.0 Release

    Announcements
    1
    1 Votes
    1 Posts
    102 Views
    No one has replied
  • 0 Votes
    3 Posts
    288 Views

    That sounds like a neat setup you've got there with dual GPUs! Running multiple simulations simultaneously can definitely boost productivity. To tackle your issue, you might want to explore parallel computing techniques. This involves distributing computational tasks across multiple processors, in your case, GPUs. Look into frameworks like CUDA or OpenMP, which support parallel processing.Good luck, and if you're into cutting-edge tech, check out Quantum AI. They delve into the fascinating realm of quantum computing, which could revolutionize simulation and problem-solving in the future.

  • 0 Votes
    3 Posts
    140 Views

    Hi,

    Thank you. I tried it but would like to plot the fields on a grid between antennas (as shown in red in the image). It is easy when the model is static but when posed, I am not able to get a grid at an angle.

    Thanks

    image.png

  • 1 Votes
    4 Posts
    407 Views

    That's great to hear! Thank you so much for sharing your experience. I'll explore the option of implementing something similar for EM simulation.

  • 1 Votes
    39 Posts
    1k Views

    Hi Bryn,

    I would like to ask a question regarding posing. My aim is to detect the variation in bone position from the skin in different poses (hypothesis being: as the soft tissues deform, the bone wont always be at the same position wrt the skin). I currently have 8 antennas placed around the skin which are supposed to mimic wearable antennas and I would like to move these antennas along with the pose.

    But if I link these antennas to the bone using "link-parent tool", the bone is always at the same location wrt to the bone irrespective of the pose. But I cannot link the antennas wrt to the skin as the antennas dont move with the pose.

    How can I do this? I would like the antennas which are placed around the skin to similar to the skin rather than the bone? Based on the first video in this chain, triangular meshes can be posed similar to the body. If I convert the antennas to meshes and then pose it, will I be getting the same issue i.e the bone is always at the same location wrt to the antennas?

    Thanks

  • 0 Votes
    1 Posts
    76 Views
    No one has replied
  • 0 Votes
    2 Posts
    114 Views

    A simulation can end in a couple different cases: If the specified level of convergence is reached, or if the specified number of periods are simulated. In the case of that tutorial, the simulation is set to run for 15 periods, and so it ended before a -50 dB convergence was reached. Convergence is a spectrum, and the level of convergence required for a given application is up to the user's discretion.

  • 0 Votes
    2 Posts
    131 Views

    short answer: you can run most of the Python API without opening the Sim4Life user interface.

    you have different options

    you can call Sim4Life.exe --run your_script.py you can write scripts and run them using the python.exe in the Sim4Life installation you can create a virtual environment with the Sim4Life packages, e.g. "C:\Program Files\Sim4Life_6.2.2.6592\Python\python.exe" -m venv .venv --system-site-packages and then use the python from this venv to run your script

    The first option opens Sim4Life, runs the script, and closes Sim4Life again. It probably is the easiest option to work robustly.

    The latter two options run without the UI and by default without an application. In most cases, you will need an application though (e.g. the Application initializes the active model, which is needed for modeling). For Python scripting without the UI you can create a console application. We do this e.g., to run Python tests without opening the UI (which is slower). To create a console application you can usually call:

    import XCore XCore.GetOrCreateConsoleApp() # now you can do some stuff import s4l_v1 as s4l sphere = s4l.model.CreateSolidSphere(s4l.model.Vec3(0.0), 1.0)
  • 0 Votes
    3 Posts
    150 Views

    @bryn Thank you Bryn.
    Managed to find a version that wasn't corrupted!
    Hope you have a nice day 🙂

  • 2 Votes
    1 Posts
    87 Views
    No one has replied
  • 1 Votes
    16 Posts
    2k Views

    @halder Thank you for your response. I want the total current of 1 mA flowing between my two electrodes. In this case, I should put the target value as (1 mA/area of the plane I have drawn between two electrodes)?
    since my plane area is 182mm*220mm, then I should select the target value to be 0.024975 A/m2. Is this the correct approach?

  • 0 Votes
    4 Posts
    139 Views

    Thanks Ofi. How can I fix this or is this something I need to account for?

  • tutorial not running

    Simulations & Solvers
    1
    0 Votes
    1 Posts
    67 Views
    No one has replied
  • FDFD solver tutorials

    Simulations & Solvers
    1
    0 Votes
    1 Posts
    59 Views
    No one has replied
  • 0 Votes
    1 Posts
    91 Views
    No one has replied
  • 0 Votes
    1 Posts
    81 Views
    No one has replied
  • 0 Votes
    2 Posts
    105 Views

    Hi @arc Please check "Console" window (open it via menu VIEW | Console if it is not open) to see what kind of error you are getting. The reason for failed simulation might be related to something else. You can easily test with an existing tutorial example. For example,

    open Dipole Antenna Tutorial, model a rectangular brick next to the dipole, clone one of the existing simulation settings and drag&drop this new brick into the simulation set its material such that rel/ Permeability o 1e4 generate grid, voxel and run to see if it also fails
    I hope it helps.
  • 0 Votes
    2 Posts
    164 Views

    Yes,

    You need to import XMaterials and specify the material model to be linear dispersive, as in the following example (which should be easy to extend), where parameters for one Debye pole are assigned.

    import XMaterials as xm # Adding a new MaterialSettings material_settings = emfdtd.MaterialSettings() material_settings.ElectricProps.MaterialModel = material_settings.ElectricProps.MaterialModel.enum.LinearDispersive # Specify settings for dispersive poles material_settings.raw.ElectricDispersiveSettings.StartFrequency = 10.e6 material_settings.raw.ElectricDispersiveSettings.EndFrequency = 100000.e6 material_settings.raw.ElectricDispersiveSettings.Conductivity = 0. material_settings.raw.ElectricDispersiveSettings.Permittivity = 11.098 debye_pole_01 = xm.LinearDispersionPole() debye_pole_01.Active = True debye_pole_01.Type = xm.LinearDispersionPole.ePoleType.kDebye debye_pole_01[xm.LinearDispersionPole.ePoleProperty.kDebyeAmplitude] = 1.0 debye_pole_01[xm.LinearDispersionPole.ePoleProperty.kDebyeStaticPermittivity] = 22.67 debye_pole_01[xm.LinearDispersionPole.ePoleProperty.kDebyeInfinityPermittivity] = 11.098 debye_pole_01[xm.LinearDispersionPole.ePoleProperty.kDebyeDamping] = 3.234e-11 # Add dispersive poles to the Linear Electric Dispersion Viewer material_settings.raw.ElectricDispersiveSettings.Poles = [debye_pole_01]
  • Line fed slot antenna

    CAD Modeling
    4
    0 Votes
    4 Posts
    161 Views

    Then you can keep the substrate as it is and translate the edge source (polyline) along the microstrip line until it also touches the ground plane (keeping it always axis-aligned).

  • 1 Votes
    2 Posts
    158 Views

    I suspect that this is because the grid from your LF simulation does not match the grid that you use in your isotropic and anisotropic simulations.

    The isotropic simulation runs fine because it does not use your cache file.

    The anisotropic simulation has stored those conductivity values expecting a specific grid.

    Try right clicking on the grid settings folder in the simulation from which you are creating your anisotropy tensor, select "Copy Grid Configuration", then "Paste Grid Configuration" on the anisotropic simulation.

    If you want to include features in your anisotropic simulation that you don't don't want to have simulated in your initial LF simulation, you can still include include objects in your initial simulation so that they are considered for the gridding without assigning them material properties, using them as a boundary condition or voxeling them. Just drag the object directly into the grid settings folder. That way your grid can always match.