hippylibX.utils package

Submodules

hippylibX.utils.master_print module

hippylibX.utils.master_print.master_print(comm: mpi4py.MPI.Comm, *args, **kwargs) None[source]

hippylibX.utils.parameterList module

class hippylibX.utils.parameterList.ParameterList(data)[source]

Bases: object

A small abstract class for storing parameters and their description. This class will raise an exception if the key one tries to access is not present.

data is a dictionary where each value is the pair (value, description)

showMe(indent='')[source]

hippylibX.utils.projection module

hippylibX.utils.projection.projection(v, target_func, bcs=[])[source]

Return projection of given expression v onto the finite element space of a function target_func.

reference: https://github.com/michalhabera/dolfiny/blob/master/dolfiny/projection.py

Inputs:
  • v: expression to project

  • target_func : function that contains the projection

hippylibX.utils.random module

class hippylibX.utils.random.Random(rank: int, nproc: int, seed=1)[source]

Bases: object

This class handles parallel generation of random numbers in hippylibX.

Create a parallel random number number generator.

INPUTS:
  • rank: id of the calling process.

  • nproc: number of processor in the communicator.

  • seed: random seed to initialize the random engine.

_normal_perturb_dlxVector(sigma: float, out: dolfinx.la.Vector) None[source]

Add a normal perturbation to a dolfinx Vector.

_normal_perturb_multivec(sigma: float, out: MultiVector) None[source]

Add a normal perturbation to a MultiVector.

_normal_perturb_petsc(sigma: float, out: petsc4py.PETSc.Vec) None[source]

Add a normal perturbation to a PETSc Vec (MPI-safe).

Parameters

sigmafloat

Standard deviation of the Gaussian noise.

outPETSc.Vec

Vector to perturb (modified in-place).

normal(sigma: float, out: dolfinx.la.Vector | MultiVector) None[source]

Sample from a normal distribution.

normal_perturb(sigma: float, out: dolfinx.la.Vector | MultiVector) None[source]

Add a normal perturbation to a dolfinx Vector, petcs vec or MultiVector object.

replay() None[source]

Reinitialize seeds for each calling process.

hippylibX.utils.vector2function module

hippylibX.utils.vector2function.updateFromVector(fun: dolfinx.fem.Function, vec: dolfinx.la.Vector)[source]

Assign values to underlying Vector of dolfinx function fun from dolfinx Vector vec.

hippylibX.utils.vector2function.vector2Function(vec, Vh, **kwargs)[source]

Wrap a finite element vector x into a finite element function in the space Vh. kwargs is optional keywords arguments to be passed to the construction of a dolfin Function.

Module contents