- new Python version of examples, translated from ex34, 34p, 35p, 36, 36p, 37,
37p, 38
- intrules_cut.i is added
- PyLinFormIntegraor, PyBilinearFormIntegrator, PyNonlinearFormIntegrator are
added as Director classes, which allows for implementing these integrators
using Python (see ex38.py)
- following method of (Par)MixedBilinearForm accept HypreParMatrix as OperatorPtr
- (Par)MixedBilinearForm::FormRectangularSystemMatrix
- (Par)MixedBilinearForm::FormRectangularLinearSystem
- field_diff.py is added under miniapps/gslib (PR195)
- wrappers for Array<char>, Array<long long>, and Array<unsigned char> are added as
uintArray, int8Array, int64Array.
- Since Array<unsigned int> is not explicitly instantiated in Array.cpp, thus some
method such as Print, Sort etc are not avaialbe. As a workaround, GetDataArray is
added to return a numpy array view of underlying memory section.
>>> v = mfem.uintArray(10)
>>> v.GetDataArray()[:] = (1, 105, 20, 3, 50, 4, 2, 15, 8)
>>> v.GetDataArray()[:] = np.sort(a.GetDataArray())
>>> v.ToList()
[1, 2, 3, 4, 8, 15, 20, 50, 105, 300]
- Fixed the return value of FindPointsGSLIB::GetCode() not being properly wrapped.
2023 01.
* Improved mfem.jit decorator to create Numba JITed coefficient.
(note, this involves an incompatible API change)
- parameter is passed as a numpy-like array to a user function (not as
a CPointer object).
- automatically creates two coefficients which return real and imaginary
part, repsectively, when complex=True.
- user function can use other MFEM coefficient as a variable
(using dependency keyword)
- decorator without () is supported
mfem.jit.scalar is the same as
mfem.jit.scalar(td=False, params=None, complex=False,
dependency=None, interface="simple", sdim=None,
debug=False)
* mfem::Array<T>::Append accepts list/tuple
* Added --with-lapack option in setup.py. This option allows for building MFEM
with MFEM_USE_LAPACK option. Use blas-libraries and lapack-libraries to specify
the library locaiton if they are in non-standard location.
* Fixed Vector::__getitem__ so that it raise IndexError if Index is outside
of -size < idx < size-1. This fixes an infinite loop error when mfem.Vector
is used in for loop, like this.
>>> vec = mfem.Vector([1,2,3])
>>> for x in vec:
print(x)
* dependency library version updates
hypre version 2.27.0
libCEED version 0.11
gslib version 1.0.8
* ex33, ex33p is added.
* ex15 is updated to use Numba
2022 03.
* Added --cuda-arch option to specify the compute cuda archtecture