Glimy

Latest version: v5.0.1

Safety actively analyzes 623616 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

5.0.1

CUDA Enabled
"Solve Maxwell's equations faster than Maxwell"
Accelerate your CEM Workloads with CUDA

Introducing the CUDA-enabled version of glimy, now you can significantly accelerate your CEM (Computational Electromagnetics) workloads while maintaining backwards compatibility. To take advantage of this feature, follow the steps below:

1. Install the latest versions of **glimy** and **cupy**. You can find installation instructions for **cupy** [here](https://docs.cupy.dev/en/stable/install.html#installing-cupy). Please note that **cupy** is only required if you want to utilize the GPU; otherwise, you can use it in CPU-only mode.

2. Ensure that your computer has the necessary GPU drivers and CUDA installed correctly.

To utilize the GPU for your CEM workloads, follow these steps:

1. Call `Continuum.build(gpu_flag=1)` to enable GPU acceleration.

2. Use `Continuum.Render(backend="cupy")` to render your CEM simulations using the **cupy** backend.

For a practical example of utilizing the GPU with glimy, you can refer to the following example: [https://github.com/alihakimtaskiran/Glimy/blob/main/examples/7-GPU.py](https://github.com/alihakimtaskiran/Glimy/blob/main/examples/7-GPU.py).

With these optimizations, you can leverage the power of CUDA and experience significantly faster CEM computations.

4.2.5

- Boundaries Class: This powerful new class enables users to define boundary conditions for each side of their grid, including Perfect Electric Conductor (PEC) and Absorbing Boundary Conditions (ABC). Users can now enjoy greater flexibility and control over their grid simulations.

- Improved Error Handling: The updated Boundaries class includes robust error handling and validation mechanisms to ensure that users always provide valid boundary condition inputs, preventing potential issues and inconsistencies.

- Enhanced Usability: With an intuitive method-based interface, Glimy v4.2.5 makes it simple for users to set or modify boundary conditions for their grids, whether in 2D or 3D.

💡 Example Use Case:



Create a 3D grid with default ABC boundary conditions
boundaries = Boundaries(3)

Set the left and right boundaries to PEC
boundaries.L("PEC")
boundaries.R("PEC")

Set the bottom and up boundaries to PEC
boundaries.B("PEC")
boundaries.U("PEC")

Set the front and down boundaries to ABC
boundaries.F("ABC")
boundaries.D("ABC")

Get the boundary conditions for the grid
boundary_conditions = boundaries()



Upgrade to Glimy v4.2.5 today to take advantage of these powerful new features and enhance your grid simulations! Check out our documentation and examples for a more in-depth look at the new Boundaries class, and don't hesitate to reach out to our support team if you have any questions or need assistance.

Happy simulating! 🚀

4.2.0

Magnetic conductivity property is added and a few scientific mistake are corrected, unification of conductivity and anisotropy is not available.
Magnetic conductivity is instroduced by `sigma_m` parameter in each electromagnetic object.

4.1

Lossy and Conductive Medium Support
- From now on all electromagnetic objects can be either conductive. <code>sigma</code> parameter is used to adjust conductivity. It is default to 0. For example:
`a=glimy.geo.Rectangle((0,0),(1,2),sigma=1e3)`
- Visualization tools now support J-Field(current density field) and conductivity grid. Example:

grid.view_structure('sigma','z',62)

grid.view_field('J','z',62)

4.0

Major Updates

- **Anisotropic material** support in 3D. Simply feed 3×3 non singular tensors into *e* and *mu* parameters of materials
- All electromagnetic and geometrodynamic objects are collected in **glimy.geo** module.
- **glimy.Continuum(grid_size, ds)** no longer needs dim parameter.
- **Continuum(...).impose_grid()** method is added. You can fetch grid from another applications such as saving, optimization algorithms.
- Energizers no longer added with **Continuum(...).add_energizer()**. It is from now on added with **Continuum(...).add()**.
- **geo\*D.V\*** objects are depreciated. Instead, **time** parameter is added in material objects(**geo.PointCloud**, **geo.Rectangle**, **geo.Circle**, **geo.RectPrism**, **geo.Sphere**, **geo.Cylinder**). Yes, from now on, you are able to work with circles, spheres and cylinders through the time.
- **Continuum(...).build()** method is now used to built electromagnetic and geometrodynamic grid. Call it after adding all assets.
- **Continuum(...).view_metric** method is designed to view gravitational time dilation due to massive objects
- Progress bar is integrated into renderer.
- **glimy.Render()** is **DEPRECIATED**. Use **Continuum(...).Render()** from now on.
- Fancy visualization tools are added to see anisotropic grid, E-field and H-field.

Backend Speed-up
- Instead of loops, vectorization is used in the new edition. It provided significant speed-up up to 1000x.

Dedication
This work is dedicated to all suffered from massive series of high magnitude earthquakes in Southern Turkey and Northern Syria. For the memory of them, the version is named as the river pass through epicenter of the Earthquake: Söğütlü.

Call to Geoscientists
FDTD formulation is also compatible with seismic waves. Hence Seismic wave computations can be easily embedded into glimy.

3.2

What's new
- Render() has a new parameter: `obs`
- It enables to fetch history of amplitude of E-Field in given points.

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.