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.2.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.2-py3-none-any.whl (26.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: xgrid-0.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 519ad96484215e3fd9296c5cd5b5f2fd9316c9fed3165f62dff0c5693b0f5be9
MD5 7c228c70a4097ba4c0ab76e3db071e25
BLAKE2b-256 91692b9e11642bfcde9f28339cf1ff333472c84a07db4e43c4d31c7a0d7bd75e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xgrid-0.0.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e8ad56f01234b20b54347f9104358f2fcf71858d7dca254c6f851a38ac710b5a
MD5 8ff44957f575463780aa40fcf722bfcd
BLAKE2b-256 673d9b1f0229cbd3b096e5fcc05cf3d9e02455275dd6c5f21ebe8330df55def5

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