Core module

G+Smo (Geometry + Simulation Modules): Core module

class pygismo.core.boundaryInterface

Bases: pybind11_object

first(self: pygismo.core.boundaryInterface) pygismo.core.patchSide

Return the first box side.

second(self: pygismo.core.boundaryInterface) pygismo.core.patchSide

Return the second box side.

class pygismo.core.boxSide

Bases: pybind11_object

index(self: pygismo.core.boxSide) int

Returns side index.

class pygismo.core.corner

Bases: pybind11_object

Members:

southwestfront

southeastfront

northwestfront

northeastfront

southwestback

southeastback

northwestback

northeastback

southwest

southeast

northwest

northeast

property name
northeast = <corner.northeastfront: 4>
northeastback = <corner.northeastback: 8>
northeastfront = <corner.northeastfront: 4>
northwest = <corner.northwestfront: 3>
northwestback = <corner.northwestback: 7>
northwestfront = <corner.northwestfront: 3>
southeast = <corner.southeastfront: 2>
southeastback = <corner.southeastback: 6>
southeastfront = <corner.southeastfront: 2>
southwest = <corner.southwestfront: 1>
southwestback = <corner.southwestback: 5>
southwestfront = <corner.southwestfront: 1>
property value
class pygismo.core.gsBasis

Bases: gsFunctionSet

anchors(self: pygismo.core.gsBasis) numpy.ndarray[numpy.float64[m, n]]

Returns the anchor points of the basis

asElements(self: pygismo.core.gsBasis, arg0: numpy.ndarray[numpy.float64[m, n]], arg1: int) List[int]

Returns the elements given refinement boxes

asElementsUnrefine(self: pygismo.core.gsBasis, arg0: numpy.ndarray[numpy.float64[m, n]], arg1: int) List[int]

Returns the elements given refinement boxes

collocationMatrix(self: pygismo.core.gsBasis, arg0: numpy.ndarray[numpy.float64[m, n]]) scipy.sparse.csc_matrix[numpy.float64]

Computes a (sparse) collocation matrix

component(self: pygismo.core.gsBasis, arg0: int) pygismo.core.gsBasis

Return the basis of component

degreeDecrease(self: pygismo.core.gsBasis, i: int = 1, dir: int = -1) None

Elevate the degree of the basis by the given amount, preserve smoothness

degreeElevate(self: pygismo.core.gsBasis, i: int = 1, dir: int = -1) None

Elevate the degree of the basis by the given amount, preserve smoothness

degreeIncrease(self: pygismo.core.gsBasis, i: int = 1, dir: int = -1) None

Elevate the degree of the basis by the given amount, preserve smoothness

degreeReduce(self: pygismo.core.gsBasis, i: int = 1, dir: int = -1) None

Elevate the degree of the basis by the given amount, preserve smoothness

deriv2Single(self: pygismo.core.gsBasis, arg0: int, arg1: numpy.ndarray[numpy.float64[m, n]]) numpy.ndarray[numpy.float64[m, n]]

Evaluates the second derivative of basis function i

deriv2Single_into(self: pygismo.core.gsBasis, arg0: int, arg1: numpy.ndarray[numpy.float64[m, n]], arg2: numpy.ndarray[numpy.float64[m, n]]) None

Evaluates the second derivative of basis function i

derivSingle(self: pygismo.core.gsBasis, arg0: int, arg1: numpy.ndarray[numpy.float64[m, n]]) numpy.ndarray[numpy.float64[m, n]]

Evaluates the derivative of basis function i

derivSingle_into(self: pygismo.core.gsBasis, arg0: int, arg1: numpy.ndarray[numpy.float64[m, n]], arg2: numpy.ndarray[numpy.float64[m, n]]) None

Evaluates the derivative of basis function i

dim(self: pygismo.core.gsBasis) int

Returns the dimension of the basis

evalSingle(self: pygismo.core.gsBasis, arg0: int, arg1: numpy.ndarray[numpy.float64[m, n]]) numpy.ndarray[numpy.float64[m, n]]

Evaluates the basis function i

evalSingle_into(self: pygismo.core.gsBasis, arg0: int, arg1: numpy.ndarray[numpy.float64[m, n]], arg2: numpy.ndarray[numpy.float64[m, n]]) None

Evaluates the basis function i

numElements(self: pygismo.core.gsBasis, arg0: pygismo.core.boxSide) int

Number of elements

refine(self: pygismo.core.gsBasis, arg0: numpy.ndarray[numpy.float64[m, n]], arg1: int) None

Refines the basis given a box

refineElements(self: pygismo.core.gsBasis, arg0: List[int]) None

Refines the basis given elements

size(self: pygismo.core.gsBasis) int

Returns the size of the basis

support(*args, **kwargs)

Overloaded function.

  1. support(self: pygismo.core.gsBasis) -> numpy.ndarray[numpy.float64[m, n]]

Get the support of the basis

  1. support(self: pygismo.core.gsBasis, arg0: int) -> numpy.ndarray[numpy.float64[m, n]]

Get the support of the basis function with an index i

uniformCoarsen(self: pygismo.core.gsBasis, numKnots: int = 1) None

Refines the basis uniformly

uniformRefine(*args, **kwargs)

Overloaded function.

  1. uniformRefine(self: pygismo.core.gsBasis, numKnots: int = 1, mul: int = 1, dir: int = -1) -> None

Refines the basis uniformly

  1. uniformRefine(self: pygismo.core.gsBasis, arg0: int, arg1: int, arg2: int) -> None

Performs uniform refinement

unrefine(self: pygismo.core.gsBasis, arg0: numpy.ndarray[numpy.float64[m, n]], arg1: int) None

Refines the basis given a box

unrefineElements(self: pygismo.core.gsBasis, arg0: List[int]) None

Unrefines the basis given elements

class pygismo.core.gsBasisFun

Bases: pybind11_object

eval(self: pygismo.core.gsBasisFun, arg0: numpy.ndarray[numpy.float64[m, n]]) numpy.ndarray[numpy.float64[m, n]]

Evaluates points into a matrix

class pygismo.core.gsBoxTopology

Bases: pybind11_object

boundaries(self: pygismo.core.gsBoxTopology) List[pygismo.core.patchSide]
interfaces(self: pygismo.core.gsBoxTopology) List[pygismo.core.boundaryInterface]
class pygismo.core.gsDofMapper

Bases: pybind11_object

addShift(self: pygismo.core.gsDofMapper, arg0: int) None

Add a shift amount to the global numbering

asVector(self: pygismo.core.gsDofMapper, arg0: int) numpy.ndarray[numpy.int32[m, 1]]

Returns a vector taking flat local indices to global

bindex(self: pygismo.core.gsDofMapper, arg0: int, arg1: int, arg2: int) int

Returns the boundary index of local dof  i of patch  k.

boundarySize(self: pygismo.core.gsDofMapper) int

Returns the number of eliminated dofs.

cindex(self: pygismo.core.gsDofMapper, arg0: int, arg1: int, arg2: int) int

Returns the coupled dof index

colapseDofs(self: pygismo.core.gsDofMapper, arg0: int, arg1: numpy.ndarray[numpy.uint32[m, n]], arg2: int) None

Calls matchDof() for all dofs on the given patch side i ps. Thus, the whole set of dofs collapses to a single global dof

componentsSize(self: pygismo.core.gsDofMapper) int

Returns the components size

coupledSize(self: pygismo.core.gsDofMapper) int

Returns the number of coupled (not eliminated) dofs.

eliminateDof(self: pygismo.core.gsDofMapper, arg0: int, arg1: int, arg2: int) None

Mark the local dof  i of patch  k as eliminated.

finalize(self: pygismo.core.gsDofMapper) None

Must be called after all boundaries and interfaces have been marked to set up the dof numbering.

freeSize(*args, **kwargs)

Overloaded function.

  1. freeSize(self: pygismo.core.gsDofMapper) -> int

Returns the number of free (not eliminated) dofs.

  1. freeSize(self: pygismo.core.gsDofMapper, arg0: int) -> int

Returns the number of free (not eliminated) dofs.

global_to_bindex(self: pygismo.core.gsDofMapper, arg0: int) int

Returns the boundary index of global dof  gl.

index(self: pygismo.core.gsDofMapper, arg0: int, arg1: int, arg2: int) int

Returns the global dof index associated to local dof  i of patch  k.

indexOnPatch(self: pygismo.core.gsDofMapper, arg0: int, arg1: int) bool

For  gl being a global index, this function returns true whenever  gl corresponds to patch  k

inverseAsVector(self: pygismo.core.gsDofMapper, arg0: int) numpy.ndarray[numpy.int32[m, 1]]

Returns a vector taking global indices to flat local

isFinalized(self: pygismo.core.gsDofMapper) bool

Checks whether finalize() has been called.

isPermutation(self: pygismo.core.gsDofMapper) bool

Returns true iff the mapper is a permuatation

is_boundary(self: pygismo.core.gsDofMapper, arg0: int, arg1: int, arg2: int) bool

Returns true if local dof  i of patch  k is eliminated.

is_boundary_index(self: pygismo.core.gsDofMapper, arg0: int) bool

Returns true if global dof  gl is eliminated

is_coupled(self: pygismo.core.gsDofMapper, arg0: int, arg1: int, arg2: int) bool

Returns true if local dof  i of patch  k is coupled.

is_coupled_index(self: pygismo.core.gsDofMapper, arg0: int) bool

Returns true if  gl is a coupled dof.

is_free(self: pygismo.core.gsDofMapper, arg0: int, arg1: int, arg2: int) bool

Returns true if local dof  i of patch  k is not eliminated.

is_free_index(self: pygismo.core.gsDofMapper, arg0: int) bool

Returns true if global dof  gl is not eliminated.

is_tagged(self: pygismo.core.gsDofMapper, arg0: int, arg1: int, arg2: int) bool

Returns true if local dof  i of patch  k is tagged.

is_tagged_index(self: pygismo.core.gsDofMapper, arg0: int) bool

Returns true if  gl is a tagged dof.

mapSize(self: pygismo.core.gsDofMapper) int

Returns the total number of patch-local degrees of freedom that are being mapped

markBoundary(self: pygismo.core.gsDofMapper, arg0: int, arg1: numpy.ndarray[numpy.int32[m, n]], arg2: int) None

Mark the local dofs  boundaryDofs of patch  k as eliminated.

markCoupled(self: pygismo.core.gsDofMapper, arg0: int, arg1: int, arg2: int) None

Mark the local dof  i of patch  k as coupled.

markCoupledAsTagged(self: pygismo.core.gsDofMapper) None

Mark all coupled dofs as tagged

markTagged(self: pygismo.core.gsDofMapper, arg0: int, arg1: int, arg2: int) None

Mark a local dof  i of patch  k as tagged

matchDof(self: pygismo.core.gsDofMapper, arg0: int, arg1: int, arg2: int, arg3: int, arg4: int) None

Couples dof  i of patch  u with dof  j of patch  v such that they refer to the same global dof at component  comp.

matchDofs(self: pygismo.core.gsDofMapper, arg0: int, arg1: numpy.ndarray[numpy.int32[m, n]], arg2: int, arg3: numpy.ndarray[numpy.int32[m, n]], arg4: int) None

Couples dofs  b1 of patch  u with dofs  b2 of patch  v one by one such that they refer to the same global dof.

numComponents(self: pygismo.core.gsDofMapper) int

Returns the number of components present in the mapper

numPatches(self: pygismo.core.gsDofMapper) int

Returns the number of patches present underneath the mapper

offset(self: pygismo.core.gsDofMapper, arg0: int) int

Returns the offset corresponding to patch  k

patchSize(self: pygismo.core.gsDofMapper, arg0: int, arg1: int) int

Returns the total number of patch-local DoFs that live on patch  k for component  c

setIdentity(self: pygismo.core.gsDofMapper, arg0: int, arg1: int, arg2: int) None

Set this mapping to be the identity

setShift(self: pygismo.core.gsDofMapper, arg0: int) None

Set the shift amount for the global numbering

size(*args, **kwargs)

Overloaded function.

  1. size(self: pygismo.core.gsDofMapper) -> int

Returns the total number of dofs (free and eliminated).

  1. size(self: pygismo.core.gsDofMapper, arg0: int) -> int

Returns the total number of dofs (free and eliminated).

taggedSize(self: pygismo.core.gsDofMapper) int

Returns the number of tagged dofs.

tindex(self: pygismo.core.gsDofMapper, arg0: int, arg1: int, arg2: int) int

Returns the tagged dof index

totalSize(self: pygismo.core.gsDofMapper, arg0: int) int

Returns the total size of the mapper

class pygismo.core.gsFunction

Bases: gsFunctionSet

argMin(self: pygismo.core.gsFunction, accuracy: float = 1e-06, max_loop: int = 100, init: numpy.ndarray[numpy.float64[m, n]] = array([], shape=(0, 0), dtype=float64), damping_factor: float = 1) numpy.ndarray[numpy.float64[m, n]]

Returns the position of the minimum

hessian(self: pygismo.core.gsFunction, arg0: numpy.ndarray[numpy.float64[m, n]], arg1: int) numpy.ndarray[numpy.float64[m, n]]

Returns the Hessian

jacobian(self: pygismo.core.gsFunction, arg0: numpy.ndarray[numpy.float64[m, n]]) numpy.ndarray[numpy.float64[m, n]]

Returns the Jacobian

laplacian(self: pygismo.core.gsFunction, arg0: numpy.ndarray[numpy.float64[m, n]]) numpy.ndarray[numpy.float64[m, n]]

Returns the Laplacian

class pygismo.core.gsFunctionExpr

Bases: gsFunction

deriv(self: pygismo.core.gsFunctionExpr, arg0: numpy.ndarray[numpy.float64[m, n]]) numpy.ndarray[numpy.float64[m, n]]

Evaluates the first derivatives of the B-spline curve

deriv2(self: pygismo.core.gsFunctionExpr, arg0: numpy.ndarray[numpy.float64[m, n]]) numpy.ndarray[numpy.float64[m, n]]

Evaluated the second derivatives of the B-spline curve

deriv2_into(self: pygismo.core.gsFunctionExpr, arg0: numpy.ndarray[numpy.float64[m, n]], arg1: numpy.ndarray[numpy.float64[m, n]]) None

Evaluates the second derivatives of the B-spline curve

deriv_into(self: pygismo.core.gsFunctionExpr, arg0: numpy.ndarray[numpy.float64[m, n]], arg1: numpy.ndarray[numpy.float64[m, n]]) None

Evaluates the first derivatives of the B-spline curve

domainDim(self: pygismo.core.gsFunctionExpr) int

Returns the parametric dimension of the B-Spline

eval(self: pygismo.core.gsFunctionExpr, arg0: numpy.ndarray[numpy.float64[m, n]]) numpy.ndarray[numpy.float64[m, n]]

Returns the evaluation of the Bspline curve on the input

eval_into(self: pygismo.core.gsFunctionExpr, arg0: numpy.ndarray[numpy.float64[m, n]], arg1: numpy.ndarray[numpy.float64[m, n]]) None

Evaluation of the Bspline curve on the input

targetDim(self: pygismo.core.gsFunctionExpr) int

Returns the target dimension of the B-Spline

class pygismo.core.gsFunctionSet

Bases: pybind11_object

active(self: pygismo.core.gsFunctionSet, arg0: numpy.ndarray[numpy.float64[m, n]]) numpy.ndarray[numpy.int32[m, n]]

Evaluates the actives and returns a matrix

deriv(self: pygismo.core.gsFunctionSet, arg0: numpy.ndarray[numpy.float64[m, n]]) numpy.ndarray[numpy.float64[m, n]]

Evaluates the first derivative and returns a matrix

deriv2(self: pygismo.core.gsFunctionSet, arg0: numpy.ndarray[numpy.float64[m, n]]) numpy.ndarray[numpy.float64[m, n]]

Evaluates the second derivative and returns a matrix

deriv2_into(self: pygismo.core.gsFunctionSet, arg0: numpy.ndarray[numpy.float64[m, n]], arg1: numpy.ndarray[numpy.float64[m, n]]) None

Evaluates the second derivative into a matrix

deriv_into(self: pygismo.core.gsFunctionSet, arg0: numpy.ndarray[numpy.float64[m, n]], arg1: numpy.ndarray[numpy.float64[m, n]]) None

Evaluates the first derivative into a matrix

domainDim(self: pygismo.core.gsFunctionSet) int

Returns the domain dimension

eval(self: pygismo.core.gsFunctionSet, arg0: numpy.ndarray[numpy.float64[m, n]]) numpy.ndarray[numpy.float64[m, n]]

Evaluates the function set and returns a matrix

evalAllDers(self: pygismo.core.gsFunctionSet, arg0: numpy.ndarray[numpy.float64[m, n]], arg1: int, arg2: bool) List[numpy.ndarray[numpy.float64[m, n]]]

Evaluates all derivatives upto certien order into a vector of matrices

evalAllDers_into(self: pygismo.core.gsFunctionSet, arg0: numpy.ndarray[numpy.float64[m, n]], arg1: int, arg2: List[numpy.ndarray[numpy.float64[m, n]]], arg3: bool) None

Evaluates all derivatives upto certien order into a vector of matrices

eval_into(self: pygismo.core.gsFunctionSet, arg0: numpy.ndarray[numpy.float64[m, n]], arg1: numpy.ndarray[numpy.float64[m, n]]) None

Evaluates the function set into a matrix

targetDim(self: pygismo.core.gsFunctionSet) int

Returns the target dimension

class pygismo.core.gsGeometry

Bases: gsFunction

basis(*args, **kwargs)

Overloaded function.

  1. basis(self: pygismo.core.gsGeometry) -> pygismo.core.gsBasis

Returns the bspline basis

  1. basis(self: pygismo.core.gsGeometry) -> pygismo.core.gsBasis

Returns the bspline basis as a reference

closestPointTo(self: pygismo.core.gsGeometry, arg0: float) None

Get the closest position to a given point in space

coefs(*args, **kwargs)

Overloaded function.

  1. coefs(self: pygismo.core.gsGeometry) -> numpy.ndarray[numpy.float64[m, n]]

Get the coefficients as a reference

  1. coefs(self: pygismo.core.gsGeometry) -> numpy.ndarray[numpy.float64[m, n]]

Get the coefficients as a reference

geoDim(self: pygismo.core.gsGeometry) int

Gives the geometry dimension

parDim(self: pygismo.core.gsGeometry) int

Gives the parameter dimension

refineElements(self: pygismo.core.gsGeometry, arg0: List[int]) None

Refines the geometry given elements

rotate(*args, **kwargs)

Overloaded function.

  1. rotate(self: pygismo.core.gsGeometry, arg0: float, arg1: numpy.ndarray[numpy.float64[3, 1]]) -> None

Apply 3D Rotation by an angle radians around axis

  1. rotate(self: pygismo.core.gsGeometry, arg0: float) -> None

Apply 2D Rotation by an angle radians

setCoefs(self: pygismo.core.gsGeometry, arg0: numpy.ndarray[numpy.float64[m, n]]) None

Sets the coefficients

unrefineElements(self: pygismo.core.gsGeometry, arg0: List[int]) None

Unrefines the geometry given elements

class pygismo.core.gsMultiBasis

Bases: gsFunctionSet

addBasis(self: pygismo.core.gsMultiBasis, arg0: pygismo.core.gsBasis) None

Adds a patch

basis(*args, **kwargs)

Overloaded function.

  1. basis(self: pygismo.core.gsMultiBasis, arg0: int) -> pygismo.core.gsBasis

Gets a const reference to basis with index i

  1. basis(self: pygismo.core.gsMultiBasis, arg0: int) -> pygismo.core.gsBasis

Gets a const reference to basis with index i

domainDim(self: pygismo.core.gsMultiBasis) int

Returns the domain dimension of the multipatch

nBases(self: pygismo.core.gsMultiBasis) int

Returns the number of patches stored in the multipatch

targetDim(self: pygismo.core.gsMultiBasis) int

Returns the target dimension of the multipatch

class pygismo.core.gsMultiPatch

Bases: gsFunctionSet, gsBoxTopology

addPatch(self: pygismo.core.gsMultiPatch, arg0: pygismo.core.gsGeometry) int

Adds a patch

basis(self: pygismo.core.gsMultiPatch, arg0: int) pygismo.core.gsBasis

Access the i-th basis of the multipatch

clear(self: pygismo.core.gsMultiPatch) None

Clears the multi patch object

computeTopology(self: pygismo.core.gsMultiPatch, arg0: float, arg1: bool, arg2: bool) bool

Compute Topology

degreeElevate(self: pygismo.core.gsMultiPatch, elevationSteps: int = 1, dir: int = -1) None

Elevates the degree

domainDim(self: pygismo.core.gsMultiPatch) int

Returns the domain dimension of the multipatch

fixOrientation(self: pygismo.core.gsMultiPatch) None

Fixes the patch orientation

nPatches(self: pygismo.core.gsMultiPatch) int

Returns the number of patches stored in the multipatch

patch(self: pygismo.core.gsMultiPatch, arg0: int) pygismo.core.gsGeometry

Access the a patch of the multipatch

targetDim(self: pygismo.core.gsMultiPatch) int

Returns the target dimension of the multipatch

uniformRefine(self: pygismo.core.gsMultiPatch, numKnots: int = 1, mul: int = 1, dir: int = -1) None

Refines uniformly

class pygismo.core.patchSide

Bases: boxSide

patchIndex(self: pygismo.core.patchSide) int

Return the patch index.

side(self: pygismo.core.patchSide) pygismo.core.boxSide

Return the box side.

class pygismo.core.side

Bases: pybind11_object

Members:

west

east

south

north

front

back

stime

etime

left

right

down

up

none

back = <side.back: 6>
down = <side.south: 3>
east = <side.east: 2>
etime = <side.etime: 8>
front = <side.front: 5>
left = <side.west: 1>
property name
none = <side.none: 0>
north = <side.north: 4>
right = <side.east: 2>
south = <side.south: 3>
stime = <side.stime: 7>
up = <side.north: 4>
property value
west = <side.west: 1>