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.5.tar.gz (801.6 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.5-py3-none-any.whl (26.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: xgrid-0.0.5.tar.gz
  • Upload date:
  • Size: 801.6 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.5.tar.gz
Algorithm Hash digest
SHA256 4bf48c904f5e8110c70a75242cc9fb846c99a0476346809994ba812b73c7194a
MD5 ec10584a41e1403fd80dd8b7088cc2d6
BLAKE2b-256 8f251a617b4ba51f3e801dd6653c9eb71db7921f0f8087a33672e5f467430adc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xgrid-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 26.6 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 b1e49c15d9ee356e5ac8c61d6cc4f6367bdb03c933ec207c00c1ba629ac45ee7
MD5 7eaa19488cd9e95a2248abafc9cca4be
BLAKE2b-256 e95a46acef925a05f12a9336aea4572a6c9ddb3ac1cb247a2e2839570b319db4

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