Skip to main content

Domain-specific language for developing partial differential equation solvers

Project description

XGrid

Installation

pip install xgrid

Test

Invoke python3 test.py in the root folder to perform the test cases.

Usage

See document for more information. Let's start with a simple kernel, the element-wise multiplication of two grid:

import xgrid
import numpy as np
import random

xgrid.init()

fvec = xgrid.grid[float, 1]

@xgrid.kernel()
def elementwise_mul(result: fvec, a: fvec, b: fvec) -> None:
    result[0] = a[0] * b[0]

and let's define some data:

a = xgrid.Grid((10000, ), float)
b = xgrid.Grid((10000, ), float)

for i in range(10000):
    a[i] = random.random()
    b[i] = random.random()

and the result:

result = xgrid.Grid((10000, ), float)

and invoke the kernel:

elementwise_mul(result, a, b)

We could check the result using numpy dot:

assert np.sum(result.now) == np.dot(a.now, b.now)

Examples

Solve the 2D Cavity flow with xgrid, see in examples folder.

cavity

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xgrid-0.0.4.tar.gz (801.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xgrid-0.0.4-py3-none-any.whl (26.5 kB view details)

Uploaded Python 3

File details

Details for the file xgrid-0.0.4.tar.gz.

File metadata

  • Download URL: xgrid-0.0.4.tar.gz
  • Upload date:
  • Size: 801.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for xgrid-0.0.4.tar.gz
Algorithm Hash digest
SHA256 896cda071d317320965d1c5396eeef3d313b1157ecfa41935cf87aec799ca567
MD5 2bd2a9ff4eb17020dba3b1e837b38975
BLAKE2b-256 18f5f9f68c290a0365ff0d8903dadb13d326a0286f5d436262257f7881dbe978

See more details on using hashes here.

File details

Details for the file xgrid-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: xgrid-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 26.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for xgrid-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 580893d3c21ab11d94be5b287ae37e9cc8024797bafa1cea48cea0e53bb9eaf4
MD5 a6f7dc4b87ff58400d1ace48cf3e0974
BLAKE2b-256 f93f49b018ebbf2adeed32732f520b1e9ed2ee23be4bcc5c35f9fc8db0d4ae57

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page