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.
support(self: pygismo.core.gsBasis) -> numpy.ndarray[numpy.float64[m, n]]
Get the support of the basis
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.
uniformRefine(self: pygismo.core.gsBasis, numKnots: int = 1, mul: int = 1, dir: int = -1) -> None
Refines the basis uniformly
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.
freeSize(self: pygismo.core.gsDofMapper) -> int
Returns the number of free (not eliminated) dofs.
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.
size(self: pygismo.core.gsDofMapper) -> int
Returns the total number of dofs (free and eliminated).
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.
basis(self: pygismo.core.gsGeometry) -> pygismo.core.gsBasis
Returns the bspline basis
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.
coefs(self: pygismo.core.gsGeometry) -> numpy.ndarray[numpy.float64[m, n]]
Get the coefficients as a reference
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.
rotate(self: pygismo.core.gsGeometry, arg0: float, arg1: numpy.ndarray[numpy.float64[3, 1]]) -> None
Apply 3D Rotation by an angle radians around axis
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.
basis(self: pygismo.core.gsMultiBasis, arg0: int) -> pygismo.core.gsBasis
Gets a const reference to basis with index i
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>