Releases: alihakimtaskiran/Glimy
CUDA Enabled
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:
-
Install the latest versions of glimy and cupy. You can find installation instructions for cupy here. Please note that cupy is only required if you want to utilize the GPU; otherwise, you can use it in CPU-only mode.
-
Ensure that your computer has the necessary GPU drivers and CUDA installed correctly.
To utilize the GPU for your CEM workloads, follow these steps:
-
Call
Continuum.build(gpu_flag=1)
to enable GPU acceleration. -
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.
With these optimizations, you can leverage the power of CUDA and experience significantly faster CEM computations.
Bounded
Introducing Glimy v4.2.5: Enhanced Boundary Management for Your Grids
We are thrilled to announce the release of Glimy v4.2.5, an update that introduces a significant enhancement to our grid management capabilities. With this new version, users can now effortlessly define and manage boundary conditions for their 2D and 3D grids with the newly added Boundaries class.
🌟 New Features in v4.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! 🚀
Magneto-Plasmo
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.
Plasmo
Lossy and Conductive Medium Support
- From now on all electromagnetic objects can be either conductive.
sigma
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)
Rivers: Söğütlü
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.
Afraid of Time
What's new
- Render() has a new parameter:
obs
- It enables to fetch history of amplitude of E-Field in given points.
Mountains
Inside Photonics
Glimy is deployed on PyPI. Download it by
pip install glimy
Glimy is capable of simulating photonic devices. Time variant refractive indexes can be simulated by adding following objects:
- geo1D.VLine
- geo2D.VRectangle
- geo3D.VRectPrism
Across Deep Sky
Glimmy FDTD is now compatible with effects of gravity. It utilizes Mach-Einstein-Dicke Theory of VSL.
Glimmer Explosion
First Release with Python backend