hippylibX.utils package
Submodules
hippylibX.utils.master_print module
hippylibX.utils.parameterList module
- class hippylibX.utils.parameterList.ParameterList(data)[source]
Bases:
objectA 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)
hippylibX.utils.projection module
- hippylibX.utils.projection.projection(v, target_func, bcs=[])[source]
Return projection of given expression
vonto the finite element space of a functiontarget_func.reference: https://github.com/michalhabera/dolfiny/blob/master/dolfiny/projection.py
- Inputs:
v: expression to projecttarget_func: function that contains the projection
hippylibX.utils.random module
- class hippylibX.utils.random.Random(rank: int, nproc: int, seed=1)[source]
Bases:
objectThis 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.