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.1.tar.gz (801.2 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.1-py3-none-any.whl (26.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for xgrid-0.0.1.tar.gz
Algorithm Hash digest
SHA256 d1118178bdc4163cb6c2a6ffbecbf156958e44dfcfc048cda311cdd0c4fc09f3
MD5 3344b00d8f647cfc4146611404aa4631
BLAKE2b-256 3083a852fdb2dbf96c672a624e93c9b39db0deea66ef13f28b04f4a5f10a1f42

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for xgrid-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bff2a8e8b0c554f795d03c405e684a20b40c2e58987a3ecb183d23407a2ad8b2
MD5 59bfbf962572bcfe37e29e4148a7fab2
BLAKE2b-256 44d5ab77e65c444244533c5b6df30eef0761f88edfdfe2b9d222babbab7dbe6c

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