proteus.deim_utils module

utility module for generating deim interpolants

proteus.deim_utils.read_from_hdf5(hdfFile, label, dof_map=None)[source]

Just grab the array stored in the node with label label and return it If dof_map is not none, use this to map values in the array If dof_map is not none, this determines shape of the output array

proteus.deim_utils.read_snapshots(archive, nsnap, val_name)[source]

assumes nsnap values of array in val_name are stored in h5file as /val_name’i’ for i=0,nspap-1

loads these into a matrix and returns

proteus.deim_utils.generate_svd_decomposition(archive, nsnap, val_name, outbase)[source]

assumes nsnap values of array in val_name are stored in h5file as /val_name’i’ for i=0,nspap-1

loads these into a matrix, performs an SVD, and stores the output in outbase_SVD_basis,
outbase_singular_values in numpy’s binary format

returns U,s,V svd decomposition of snapshots

proteus.deim_utils.calculate_deim_indices(Uin)[source]
input: Uin n x m array of basis vectors for nonlinear function snapshots output: rho, m vector of indices

ho_i for extracting $ ec F$ values

proteus.deim_utils.deim_alg(Uin, m)[source]
proteus.deim_utils.visualize_zslice(variable, nnx, nny, iz, x=None, y=None, name=None)[source]

convenience function for plotting a slice

proteus.deim_utils.extract_sub_matrix_csr(rho, rowptr, colind, nnzval)[source]

manually extract the rows in the deim index vector rho from a csr matrix representation returns a csr representation