Summary#

GooseFEM#

GooseFEM.AsTensor(*args, **kwargs)#

Overloaded function.

  1. AsTensor(arg: numpy.ndarray[numpy.float64], shape: List[int]) -> numpy.ndarray[numpy.float64]

See GooseFEM::AsTensor().

  1. AsTensor(rank: int, arg: numpy.ndarray[numpy.float64], n: int) -> numpy.ndarray[numpy.float64]

See GooseFEM::AsTensor().

class GooseFEM.Matrix#

Bases: pybind11_builtins.pybind11_object

Dot(*args, **kwargs)#

Overloaded function.

  1. Dot(self: GooseFEM.Matrix, x: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

Dot product.

  1. Dot(self: GooseFEM.Matrix, x: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

Dot product.

Todense(self: GooseFEM.Matrix) numpy.ndarray[numpy.float64]#

Return a dense matrix (copy)

__init__(self: GooseFEM.Matrix, conn: numpy.ndarray[numpy.uint64], dofs: numpy.ndarray[numpy.uint64]) None#

See GooseFEM::Matrix.

__repr__(self: GooseFEM.Matrix) str#
add(self: GooseFEM.Matrix, rows: numpy.ndarray[numpy.uint64], cols: numpy.ndarray[numpy.uint64], matrix: numpy.ndarray[numpy.float64]) None#
assemble(self: GooseFEM.Matrix, elemmat: numpy.ndarray[numpy.float64]) None#

Assemble from elemmat

property conn#

Connectivity [nelem, nne]

property data#
property dofs#

DOFs [nnode, ndim]

dot(*args, **kwargs)#

Overloaded function.

  1. dot(self: GooseFEM.Matrix, x: numpy.ndarray[numpy.float64], b: numpy.ndarray[numpy.float64]) -> None

Dot product (write to b).

  1. dot(self: GooseFEM.Matrix, x: numpy.ndarray[numpy.float64], b: numpy.ndarray[numpy.float64]) -> None

Dot product (write to b).

property ndim#

Number of dimensions

property ndof#

Number of DOFs

property nelem#

Number of elements

property nne#

Number of nodes per element

property nnode#

Number of nodes

set(self: GooseFEM.Matrix, rows: numpy.ndarray[numpy.uint64], cols: numpy.ndarray[numpy.uint64], matrix: numpy.ndarray[numpy.float64]) None#
todense(self: GooseFEM.Matrix, ret: numpy.ndarray[numpy.float64]) None#

Dense matrix (write to ret)

class GooseFEM.MatrixDiagonal#

Bases: pybind11_builtins.pybind11_object

Dot(*args, **kwargs)#

Overloaded function.

  1. Dot(self: GooseFEM.MatrixDiagonal, x: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

Dot product.

  1. Dot(self: GooseFEM.MatrixDiagonal, x: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

Dot product.

Solve(*args, **kwargs)#

Overloaded function.

  1. Solve(self: GooseFEM.MatrixDiagonal, b: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

Solve

  1. Solve(self: GooseFEM.MatrixDiagonal, b: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

Solve

Todense(self: GooseFEM.MatrixDiagonal) numpy.ndarray[numpy.float64]#

Return a dense matrix (copy)

__annotations__ = {}#
__init__(self: GooseFEM.MatrixDiagonal, conn: numpy.ndarray[numpy.uint64], dofs: numpy.ndarray[numpy.uint64]) None#

See GooseFEM::MatrixDiagonal.

__repr__(self: GooseFEM.MatrixDiagonal) str#
assemble(self: GooseFEM.MatrixDiagonal, elemmat: numpy.ndarray[numpy.float64]) None#

Assemble from elemmat

property conn#

Connectivity [nelem, nne]

property data#
property dofs#

DOFs [nnode, ndim]

dot(*args, **kwargs)#

Overloaded function.

  1. dot(self: GooseFEM.MatrixDiagonal, x: numpy.ndarray[numpy.float64], b: numpy.ndarray[numpy.float64]) -> None

Dot product (write to b).

  1. dot(self: GooseFEM.MatrixDiagonal, x: numpy.ndarray[numpy.float64], b: numpy.ndarray[numpy.float64]) -> None

Dot product (write to b).

property ndim#

Number of dimensions

property ndof#

Number of DOFs

property nelem#

Number of elements

property nne#

Number of nodes per element

property nnode#

Number of nodes

solve(*args, **kwargs)#

Overloaded function.

  1. solve(self: GooseFEM.MatrixDiagonal, b: numpy.ndarray[numpy.float64], x: numpy.ndarray[numpy.float64]) -> None

Solve (write to x)

  1. solve(self: GooseFEM.MatrixDiagonal, b: numpy.ndarray[numpy.float64], x: numpy.ndarray[numpy.float64]) -> None

Solve (write to x)

todense(self: GooseFEM.MatrixDiagonal, ret: numpy.ndarray[numpy.float64]) None#

Dense matrix (write to ret)

class GooseFEM.MatrixDiagonalPartitioned#

Bases: pybind11_builtins.pybind11_object

Dot(*args, **kwargs)#

Overloaded function.

  1. Dot(self: GooseFEM.MatrixDiagonalPartitioned, x: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

Dot product.

  1. Dot(self: GooseFEM.MatrixDiagonalPartitioned, x: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

Dot product.

Dot_p(self: GooseFEM.MatrixDiagonalPartitioned, x_u: numpy.ndarray[numpy.float64], x_p: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
Dot_u(self: GooseFEM.MatrixDiagonalPartitioned, x_u: numpy.ndarray[numpy.float64], x_p: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
Reaction(*args, **kwargs)#

Overloaded function.

  1. Reaction(self: GooseFEM.MatrixDiagonalPartitioned, x: numpy.ndarray[numpy.float64], b: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

Return b with correct right-hand-side

  1. Reaction(self: GooseFEM.MatrixDiagonalPartitioned, x: numpy.ndarray[numpy.float64], b: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

Return b with correct right-hand-side

Reaction_p(self: GooseFEM.MatrixDiagonalPartitioned, x_u: numpy.ndarray[numpy.float64], x_p: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#

Return b_p

Solve_u(self: GooseFEM.MatrixDiagonalPartitioned, b_u: numpy.ndarray[numpy.float64], x_p: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
Todense(self: GooseFEM.MatrixDiagonalPartitioned) numpy.ndarray[numpy.float64]#

Return a dense matrix (copy)

__annotations__ = {}#
__init__(self: GooseFEM.MatrixDiagonalPartitioned, conn: numpy.ndarray[numpy.uint64], dofs: numpy.ndarray[numpy.uint64], iip: numpy.ndarray[numpy.uint64]) None#

See GooseFEM::MatrixDiagonalPartitioned.

__repr__(self: GooseFEM.MatrixDiagonalPartitioned) str#
assemble(self: GooseFEM.MatrixDiagonalPartitioned, elemmat: numpy.ndarray[numpy.float64]) None#

Assemble from elemmat

property conn#

Connectivity [nelem, nne]

property data#

Copy to assemble diagonal matrix

property data_pp#
property data_uu#
property dofs#

DOFs [nnode, ndim]

dot(*args, **kwargs)#

Overloaded function.

  1. dot(self: GooseFEM.MatrixDiagonalPartitioned, x: numpy.ndarray[numpy.float64], b: numpy.ndarray[numpy.float64]) -> None

Dot product (write to b).

  1. dot(self: GooseFEM.MatrixDiagonalPartitioned, x: numpy.ndarray[numpy.float64], b: numpy.ndarray[numpy.float64]) -> None

Dot product (write to b).

property iip#

Prescribed DOFs

property iiu#

Unknown DOFs

property ndim#

Number of dimensions

property ndof#

Number of DOFs

property nelem#

Number of elements

property nne#

Number of nodes per element

property nnode#

Number of nodes

property nnp#

Number of prescribed DOFs

property nnu#

Number of unknown DOFs

reaction(*args, **kwargs)#

Overloaded function.

  1. reaction(self: GooseFEM.MatrixDiagonalPartitioned, x: numpy.ndarray[numpy.float64], b: numpy.ndarray[numpy.float64]) -> None

Update b with correct right-hand-side

  1. reaction(self: GooseFEM.MatrixDiagonalPartitioned, x: numpy.ndarray[numpy.float64], b: numpy.ndarray[numpy.float64]) -> None

Update b with correct right-hand-side

todense(self: GooseFEM.MatrixDiagonalPartitioned, ret: numpy.ndarray[numpy.float64]) None#

Dense matrix (write to ret)

class GooseFEM.MatrixPartitioned#

Bases: pybind11_builtins.pybind11_object

Dot(*args, **kwargs)#

Overloaded function.

  1. Dot(self: GooseFEM.MatrixPartitioned, x: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

Dot product.

  1. Dot(self: GooseFEM.MatrixPartitioned, x: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

Dot product.

Reaction(*args, **kwargs)#

Overloaded function.

  1. Reaction(self: GooseFEM.MatrixPartitioned, x: numpy.ndarray[numpy.float64], b: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

Return b with correct right-hand-side

  1. Reaction(self: GooseFEM.MatrixPartitioned, x: numpy.ndarray[numpy.float64], b: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

Return b with correct right-hand-side

Reaction_p(self: GooseFEM.MatrixPartitioned, x_u: numpy.ndarray[numpy.float64], x_p: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#

Return b_p

Todense(self: GooseFEM.MatrixPartitioned) numpy.ndarray[numpy.float64]#

Return a dense matrix (copy)

__annotations__ = {}#
__init__(self: GooseFEM.MatrixPartitioned, conn: numpy.ndarray[numpy.uint64], dofs: numpy.ndarray[numpy.uint64], iip: numpy.ndarray[numpy.uint64]) None#

See GooseFEM::MatrixPartitioned.

__repr__(self: GooseFEM.MatrixPartitioned) str#
assemble(self: GooseFEM.MatrixPartitioned, elemmat: numpy.ndarray[numpy.float64]) None#

Assemble from elemmat

property conn#

Connectivity [nelem, nne]

property data_pp#
property data_pu#
property data_up#
property data_uu#
property dofs#

DOFs [nnode, ndim]

dot(*args, **kwargs)#

Overloaded function.

  1. dot(self: GooseFEM.MatrixPartitioned, x: numpy.ndarray[numpy.float64], b: numpy.ndarray[numpy.float64]) -> None

Dot product (write to b).

  1. dot(self: GooseFEM.MatrixPartitioned, x: numpy.ndarray[numpy.float64], b: numpy.ndarray[numpy.float64]) -> None

Dot product (write to b).

property iip#

Prescribed DOFs

property iiu#

Unknown DOFs

property ndim#

Number of dimensions

property ndof#

Number of DOFs

property nelem#

Number of elements

property nne#

Number of nodes per element

property nnode#

Number of nodes

property nnp#

Number of prescribed DOFs

property nnu#

Number of unknown DOFs

reaction(*args, **kwargs)#

Overloaded function.

  1. reaction(self: GooseFEM.MatrixPartitioned, x: numpy.ndarray[numpy.float64], b: numpy.ndarray[numpy.float64]) -> None

Update b with correct right-hand-side

  1. reaction(self: GooseFEM.MatrixPartitioned, x: numpy.ndarray[numpy.float64], b: numpy.ndarray[numpy.float64]) -> None

Update b with correct right-hand-side

todense(self: GooseFEM.MatrixPartitioned, ret: numpy.ndarray[numpy.float64]) None#

Dense matrix (write to ret)

class GooseFEM.MatrixPartitionedSolver#

Bases: pybind11_builtins.pybind11_object

Solve(*args, **kwargs)#

Overloaded function.

  1. Solve(self: GooseFEM.MatrixPartitionedSolver, A: GooseFEM.MatrixPartitioned, b: numpy.ndarray[numpy.float64], x: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

Solve system.

  1. Solve(self: GooseFEM.MatrixPartitionedSolver, A: GooseFEM.MatrixPartitioned, b: numpy.ndarray[numpy.float64], x: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

Solve system.

Solve_u(self: GooseFEM.MatrixPartitionedSolver, A: GooseFEM.MatrixPartitioned, b_u: numpy.ndarray[numpy.float64], x_p: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#

Solve system.

__annotations__ = {}#
__init__(self: GooseFEM.MatrixPartitionedSolver) None#

See GooseFEM::MatrixPartitionedSolver.

__repr__(self: GooseFEM.MatrixPartitionedSolver) str#
solve(*args, **kwargs)#

Overloaded function.

  1. solve(self: GooseFEM.MatrixPartitionedSolver, A: GooseFEM.MatrixPartitioned, b: numpy.ndarray[numpy.float64], x: numpy.ndarray[numpy.float64]) -> None

Solve system.

  1. solve(self: GooseFEM.MatrixPartitionedSolver, A: GooseFEM.MatrixPartitioned, b: numpy.ndarray[numpy.float64], x: numpy.ndarray[numpy.float64]) -> None

Solve system.

solve_u(self: GooseFEM.MatrixPartitionedSolver, A: GooseFEM.MatrixPartitioned, b_u: numpy.ndarray[numpy.float64], x_p: numpy.ndarray[numpy.float64], x_u: numpy.ndarray[numpy.float64]) None#

Solve system.

class GooseFEM.MatrixPartitionedTyings#

Bases: pybind11_builtins.pybind11_object

Dot(*args, **kwargs)#

Overloaded function.

  1. Dot(self: GooseFEM.MatrixPartitionedTyings, x: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

Dot product.

  1. Dot(self: GooseFEM.MatrixPartitionedTyings, x: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

Dot product.

Reaction(*args, **kwargs)#

Overloaded function.

  1. Reaction(self: GooseFEM.MatrixPartitionedTyings, x: numpy.ndarray[numpy.float64], b: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

Return b with correct right-hand-side

  1. Reaction(self: GooseFEM.MatrixPartitionedTyings, x: numpy.ndarray[numpy.float64], b: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

Return b with correct right-hand-side

Reaction_p(self: GooseFEM.MatrixPartitionedTyings, x_u: numpy.ndarray[numpy.float64], x_p: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#

Return b_p

Todense(self: GooseFEM.MatrixPartitionedTyings) numpy.ndarray[numpy.float64]#

Return a dense matrix (copy)

__annotations__ = {}#
__init__(self: GooseFEM.MatrixPartitionedTyings, conn: numpy.ndarray[numpy.uint64], dofs: numpy.ndarray[numpy.uint64], Cdu: scipy.sparse.csc_matrix[numpy.float64], Cdp: scipy.sparse.csc_matrix[numpy.float64]) None#

See GooseFEM::MatrixPartitionedTyings.

__repr__(self: GooseFEM.MatrixPartitionedTyings) str#
assemble(self: GooseFEM.MatrixPartitionedTyings, elemmat: numpy.ndarray[numpy.float64]) None#

Assemble from elemmat

property conn#

Connectivity [nelem, nne]

property data_dd#
property data_dp#
property data_du#
property data_pd#
property data_pp#
property data_pu#
property data_ud#
property data_up#
property data_uu#
property dofs#

DOFs [nnode, ndim]

dot(*args, **kwargs)#

Overloaded function.

  1. dot(self: GooseFEM.MatrixPartitionedTyings, x: numpy.ndarray[numpy.float64], b: numpy.ndarray[numpy.float64]) -> None

Dot product (write to b).

  1. dot(self: GooseFEM.MatrixPartitionedTyings, x: numpy.ndarray[numpy.float64], b: numpy.ndarray[numpy.float64]) -> None

Dot product (write to b).

property iid#

Dependent DOFs

property iii#

Independent DOFs

property iip#

Prescribed DOFs

property iiu#

Unknown DOFs

property ndim#

Number of dimensions

property ndof#

Number of DOFs

property nelem#

Number of elements

property nnd#

Number of dependent DOFs

property nne#

Number of nodes per element

property nni#

Number of independent DOFs

property nnode#

Number of nodes

property nnp#

Number of prescribed DOFs

property nnu#

Number of unknown DOFs

reaction(*args, **kwargs)#

Overloaded function.

  1. reaction(self: GooseFEM.MatrixPartitionedTyings, x: numpy.ndarray[numpy.float64], b: numpy.ndarray[numpy.float64]) -> None

Update b with correct right-hand-side

  1. reaction(self: GooseFEM.MatrixPartitionedTyings, x: numpy.ndarray[numpy.float64], b: numpy.ndarray[numpy.float64]) -> None

Update b with correct right-hand-side

todense(self: GooseFEM.MatrixPartitionedTyings, ret: numpy.ndarray[numpy.float64]) None#

Dense matrix (write to ret)

class GooseFEM.MatrixPartitionedTyingsSolver#

Bases: pybind11_builtins.pybind11_object

Solve(*args, **kwargs)#

Overloaded function.

  1. Solve(self: GooseFEM.MatrixPartitionedTyingsSolver, A: GooseFEM.MatrixPartitionedTyings, b: numpy.ndarray[numpy.float64], x: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

Solve system.

  1. Solve(self: GooseFEM.MatrixPartitionedTyingsSolver, A: GooseFEM.MatrixPartitionedTyings, b: numpy.ndarray[numpy.float64], x: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

Solve system.

Solve_u(self: GooseFEM.MatrixPartitionedTyingsSolver, matrix: GooseFEM.MatrixPartitionedTyings, b_u: numpy.ndarray[numpy.float64], b_d: numpy.ndarray[numpy.float64], x_p: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
__annotations__ = {}#
__init__(self: GooseFEM.MatrixPartitionedTyingsSolver) None#

See GooseFEM::MatrixPartitionedTyingsSolver.

__repr__(self: GooseFEM.MatrixPartitionedTyingsSolver) str#
solve(*args, **kwargs)#

Overloaded function.

  1. solve(self: GooseFEM.MatrixPartitionedTyingsSolver, A: GooseFEM.MatrixPartitionedTyings, b: numpy.ndarray[numpy.float64], x: numpy.ndarray[numpy.float64]) -> None

Solve system.

  1. solve(self: GooseFEM.MatrixPartitionedTyingsSolver, A: GooseFEM.MatrixPartitionedTyings, b: numpy.ndarray[numpy.float64], x: numpy.ndarray[numpy.float64]) -> None

Solve system.

solve_u(self: GooseFEM.MatrixPartitionedTyingsSolver, matrix: GooseFEM.MatrixPartitionedTyings, b_u: numpy.ndarray[numpy.float64], b_d: numpy.ndarray[numpy.float64], x_p: numpy.ndarray[numpy.float64], x_u: numpy.ndarray[numpy.float64]) None#
class GooseFEM.MatrixSolver#

Bases: pybind11_builtins.pybind11_object

Solve(*args, **kwargs)#

Overloaded function.

  1. Solve(self: GooseFEM.MatrixSolver, A: GooseFEM.Matrix, b: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

Solve system.

  1. Solve(self: GooseFEM.MatrixSolver, A: GooseFEM.Matrix, b: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

Solve system.

__annotations__ = {}#
__init__(self: GooseFEM.MatrixSolver) None#

See GooseFEM::MatrixSolver.

__repr__(self: GooseFEM.MatrixSolver) str#
solve(*args, **kwargs)#

Overloaded function.

  1. solve(self: GooseFEM.MatrixSolver, A: GooseFEM.Matrix, b: numpy.ndarray[numpy.float64], x: numpy.ndarray[numpy.float64]) -> None

Solve system.

  1. solve(self: GooseFEM.MatrixSolver, A: GooseFEM.Matrix, b: numpy.ndarray[numpy.float64], x: numpy.ndarray[numpy.float64]) -> None

Solve system.

class GooseFEM.Vector#

Bases: pybind11_builtins.pybind11_object

AsDofs(self: GooseFEM.Vector, arg: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
AsElement(self: GooseFEM.Vector, arg: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
AsNode(self: GooseFEM.Vector, arg: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
AssembleDofs(self: GooseFEM.Vector, arg: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
AssembleNode(self: GooseFEM.Vector, arg: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
Copy(self: GooseFEM.Vector, nodevec_src: numpy.ndarray[numpy.float64], nodevec_dest: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
__annotations__ = {}#
__init__(self: GooseFEM.Vector, conn: numpy.ndarray[numpy.uint64], dofs: numpy.ndarray[numpy.uint64]) None#

See GooseFEM::Vector.

__repr__(self: GooseFEM.Vector) str#
allocate_dofval(*args, **kwargs)#

Overloaded function.

  1. allocate_dofval(self: GooseFEM.Vector) -> numpy.ndarray[numpy.float64]

  2. allocate_dofval(self: GooseFEM.Vector, arg0: float) -> numpy.ndarray[numpy.float64]

allocate_elemmat(*args, **kwargs)#

Overloaded function.

  1. allocate_elemmat(self: GooseFEM.Vector) -> numpy.ndarray[numpy.float64]

  2. allocate_elemmat(self: GooseFEM.Vector, arg0: float) -> numpy.ndarray[numpy.float64]

allocate_elemvec(*args, **kwargs)#

Overloaded function.

  1. allocate_elemvec(self: GooseFEM.Vector) -> numpy.ndarray[numpy.float64]

  2. allocate_elemvec(self: GooseFEM.Vector, arg0: float) -> numpy.ndarray[numpy.float64]

allocate_nodevec(*args, **kwargs)#

Overloaded function.

  1. allocate_nodevec(self: GooseFEM.Vector) -> numpy.ndarray[numpy.float64]

  2. allocate_nodevec(self: GooseFEM.Vector, arg0: float) -> numpy.ndarray[numpy.float64]

asDofs(self: GooseFEM.Vector, arg: numpy.ndarray[numpy.float64], ret: numpy.ndarray[numpy.float64]) None#
asElement(self: GooseFEM.Vector, arg: numpy.ndarray[numpy.float64], ret: numpy.ndarray[numpy.float64]) None#
asNode(self: GooseFEM.Vector, arg: numpy.ndarray[numpy.float64], ret: numpy.ndarray[numpy.float64]) None#
assembleDofs(self: GooseFEM.Vector, arg: numpy.ndarray[numpy.float64], ret: numpy.ndarray[numpy.float64]) None#
assembleNode(self: GooseFEM.Vector, arg: numpy.ndarray[numpy.float64], ret: numpy.ndarray[numpy.float64]) None#
property conn#
copy(self: GooseFEM.Vector, nodevec_src: numpy.ndarray[numpy.float64], nodevec_dest: numpy.ndarray[numpy.float64]) None#
property dofs#
property ndim#
property ndof#
property nelem#
property nne#
property nnode#
property shape_dofval#
property shape_elemmat#
property shape_elemvec#
property shape_nodevec#
class GooseFEM.VectorPartitioned#

Bases: GooseFEM.Vector

AsDofs_p(*args, **kwargs)#

Overloaded function.

  1. AsDofs_p(self: GooseFEM.VectorPartitioned, nodevec: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

  2. AsDofs_p(self: GooseFEM.VectorPartitioned, elemvec: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

AsDofs_u(*args, **kwargs)#

Overloaded function.

  1. AsDofs_u(self: GooseFEM.VectorPartitioned, nodevec: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

  2. AsDofs_u(self: GooseFEM.VectorPartitioned, elemvec: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

Copy_p(self: GooseFEM.VectorPartitioned, nodevec_src: numpy.ndarray[numpy.float64], nodevec_dest: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
Copy_u(self: GooseFEM.VectorPartitioned, nodevec_src: numpy.ndarray[numpy.float64], nodevec_dest: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
DofsFromParitioned(self: GooseFEM.VectorPartitioned, dofval_u: numpy.ndarray[numpy.float64], dofval_p: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
ElementFromPartitioned(self: GooseFEM.VectorPartitioned, dofval_u: numpy.ndarray[numpy.float64], dofval_p: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
NodeFromPartitioned(self: GooseFEM.VectorPartitioned, dofval_u: numpy.ndarray[numpy.float64], dofval_p: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
__annotations__ = {}#
__init__(self: GooseFEM.VectorPartitioned, conn: numpy.ndarray[numpy.uint64], dofs: numpy.ndarray[numpy.uint64], iip: numpy.ndarray[numpy.uint64]) None#

See GooseFEM::VectorPartitioned.

__repr__(self: GooseFEM.VectorPartitioned) str#
copy_p(self: GooseFEM.VectorPartitioned, nodevec_src: numpy.ndarray[numpy.float64], nodevec_dest: numpy.ndarray[numpy.float64]) None#
copy_u(self: GooseFEM.VectorPartitioned, nodevec_src: numpy.ndarray[numpy.float64], nodevec_dest: numpy.ndarray[numpy.float64]) None#
property dofs_is_p#
property dofs_is_u#
property iip#
property iiu#
property nnp#
property nnu#
class GooseFEM.VectorPartitionedTyings#

Bases: GooseFEM.Vector

AsDofs_i(self: GooseFEM.VectorPartitionedTyings, nodevec: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
__annotations__ = {}#
__init__(self: GooseFEM.VectorPartitionedTyings, conn: numpy.ndarray[numpy.uint64], dofs: numpy.ndarray[numpy.uint64], Cdu: scipy.sparse.csc_matrix[numpy.float64], Cdp: scipy.sparse.csc_matrix[numpy.float64], Cdi: scipy.sparse.csc_matrix[numpy.float64]) None#

See GooseFEM::VectorPartitionedTyings.

__repr__(self: GooseFEM.VectorPartitionedTyings) str#
asDofs_i(self: GooseFEM.VectorPartitionedTyings, nodevec: numpy.ndarray[numpy.float64], dofval_i: numpy.ndarray[numpy.float64], apply_tyings: bool = True) None#
copy_p(self: GooseFEM.VectorPartitionedTyings, dofval_src: numpy.ndarray[numpy.float64], dofval_dest: numpy.ndarray[numpy.float64]) None#
property iid#
property iii#
property iip#
property iiu#
property nnd#
property nni#
property nnp#
property nnu#
GooseFEM.as3d(arg: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#

See GooseFEM::as3d().

GooseFEM.is_unique(a: numpy.ndarray[numpy.int64]) bool#

See GooseFEM::is_unique().

GooseFEM.version() str#

See GooseFEM::version().

GooseFEM.version_dependencies() List[str]#

See GooseFEM::version_dependencies().

GooseFEM.Iterate#

Iteration support tools

class GooseFEM.Iterate.StopList#

Bases: pybind11_builtins.pybind11_object

__annotations__ = {}#
__init__(self: GooseFEM.Iterate.StopList, n: int = 1) None#

See GooseFEM::Iterate::StopList.

__repr__(self: GooseFEM.Iterate.StopList) str#
all_less(self: GooseFEM.Iterate.StopList, tol: float) bool#
property data#
descending(self: GooseFEM.Iterate.StopList) bool#
reset(self: GooseFEM.Iterate.StopList) None#
roll_insert(self: GooseFEM.Iterate.StopList, res: float) None#

GooseFEM.Element#

Generic element routines

GooseFEM.Element.asElementVector(conn: numpy.ndarray[numpy.uint64], nodevec: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#

See GooseFEM::Element::asElementVector().

GooseFEM.Element.assembleElementVector(conn: numpy.ndarray[numpy.uint64], elemvec: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#

See GooseFEM::Element::assembleNodeVector().

GooseFEM.Element.Quad4#

Linear quadrilateral elements (2D)

class GooseFEM.Element.Quad4.Quadrature#

Bases: pybind11_builtins.pybind11_object

AsTensor(self: GooseFEM.Element.Quad4.Quadrature, rank: int, qscalar: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
property GradN#

Shape function gradients [nelem, nip, nne, ndim]

GradN_vector(self: GooseFEM.Element.Quad4.Quadrature, elemvec: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
GradN_vector_T(self: GooseFEM.Element.Quad4.Quadrature, elemvec: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
Int_N_scalar_NT_dV(self: GooseFEM.Element.Quad4.Quadrature, qscalar: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
Int_N_vector_dV(self: GooseFEM.Element.Quad4.Quadrature, qvector: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
Int_gradN_dot_tensor2_dV(self: GooseFEM.Element.Quad4.Quadrature, qtensor: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
Int_gradN_dot_tensor4_dot_gradNT_dV(self: GooseFEM.Element.Quad4.Quadrature, qtensor: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
InterpQuad_vector(self: GooseFEM.Element.Quad4.Quadrature, elemvec: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
SymGradN_vector(self: GooseFEM.Element.Quad4.Quadrature, elemvec: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
__annotations__ = {}#
__init__(*args, **kwargs)#

Overloaded function.

  1. __init__(self: GooseFEM.Element.Quad4.Quadrature, x: numpy.ndarray[numpy.float64]) -> None

See GooseFEM::Element::Quad4::Quadrature.

  1. __init__(self: GooseFEM.Element.Quad4.Quadrature, x: numpy.ndarray[numpy.float64], xi: numpy.ndarray[numpy.float64], w: numpy.ndarray[numpy.float64]) -> None

See GooseFEM::Element::Quad4::Quadrature.

__repr__(self: GooseFEM.Element.Quad4.Quadrature) str#
property dV#

Integration point volume (qscalar)

gradN_vector(self: GooseFEM.Element.Quad4.Quadrature, elemvec: numpy.ndarray[numpy.float64], qtensor: numpy.ndarray[numpy.float64]) None#
gradN_vector_T(self: GooseFEM.Element.Quad4.Quadrature, elemvec: numpy.ndarray[numpy.float64], qtensor: numpy.ndarray[numpy.float64]) None#
int_N_scalar_NT_dV(self: GooseFEM.Element.Quad4.Quadrature, qscalar: numpy.ndarray[numpy.float64], elemmat: numpy.ndarray[numpy.float64]) None#
int_N_vector_dV(self: GooseFEM.Element.Quad4.Quadrature, qvector: numpy.ndarray[numpy.float64], elemvec: numpy.ndarray[numpy.float64]) None#
int_gradN_dot_tensor2_dV(self: GooseFEM.Element.Quad4.Quadrature, qtensor: numpy.ndarray[numpy.float64], elemvec: numpy.ndarray[numpy.float64]) None#
int_gradN_dot_tensor4_dot_gradNT_dV(self: GooseFEM.Element.Quad4.Quadrature, qtensor: numpy.ndarray[numpy.float64], elemmat: numpy.ndarray[numpy.float64]) None#
interpQuad_vector(self: GooseFEM.Element.Quad4.Quadrature, elemvec: numpy.ndarray[numpy.float64], qvector: numpy.ndarray[numpy.float64]) None#
property ndim#

Number of spatial dimensions

property nelem#

Number of elements

property nip#

Number of integration points per element

property nne#

Number of nodes per element

shape_elemmat(self: GooseFEM.Element.Quad4.Quadrature) List[int[3]]#
shape_elemvec(*args, **kwargs)#

Overloaded function.

  1. shape_elemvec(self: GooseFEM.Element.Quad4.Quadrature) -> List[int[3]]

  2. shape_elemvec(self: GooseFEM.Element.Quad4.Quadrature, tdim: int) -> List[int[3]]

shape_qscalar(self: GooseFEM.Element.Quad4.Quadrature) List[int[2]]#
shape_qtensor(*args, **kwargs)#

Overloaded function.

  1. shape_qtensor(self: GooseFEM.Element.Quad4.Quadrature, rank: int) -> List[int]

  2. shape_qtensor(self: GooseFEM.Element.Quad4.Quadrature, rank: int, tdim: int) -> List[int]

shape_qvector(*args, **kwargs)#

Overloaded function.

  1. shape_qvector(self: GooseFEM.Element.Quad4.Quadrature) -> List[int[3]]

  2. shape_qvector(self: GooseFEM.Element.Quad4.Quadrature, tdim: int) -> List[int[3]]

symGradN_vector(self: GooseFEM.Element.Quad4.Quadrature, elemvec: numpy.ndarray[numpy.float64], qtensor: numpy.ndarray[numpy.float64]) None#
property tdim#

Number of spatial dimensions for tensors

update_x(self: GooseFEM.Element.Quad4.Quadrature, x: numpy.ndarray[numpy.float64]) None#
class GooseFEM.Element.Quad4.QuadratureAxisymmetric#

Bases: pybind11_builtins.pybind11_object

AsTensor(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric, rank: int, qscalar: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
property B#

B-matrix (shape function gradients) [nelem, nne, tdim, tdim, tdim]

GradN_vector(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric, elemvec: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
GradN_vector_T(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric, elemvec: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
Int_N_scalar_NT_dV(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric, qscalar: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
Int_N_vector_dV(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric, qvector: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
Int_gradN_dot_tensor2_dV(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric, qtensor: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
Int_gradN_dot_tensor4_dot_gradNT_dV(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric, qtensor: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
InterpQuad_vector(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric, elemvec: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
SymGradN_vector(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric, elemvec: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
__annotations__ = {}#
__init__(*args, **kwargs)#

Overloaded function.

  1. __init__(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric, x: numpy.ndarray[numpy.float64]) -> None

See GooseFEM::Element::Quad4::QuadratureAxisymmetric.

  1. __init__(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric, x: numpy.ndarray[numpy.float64], xi: numpy.ndarray[numpy.float64], w: numpy.ndarray[numpy.float64]) -> None

See GooseFEM::Element::Quad4::QuadratureAxisymmetric.

__repr__(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric) str#
property dV#

Integration point volume (qscalar)

gradN_vector(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric, elemvec: numpy.ndarray[numpy.float64], qtensor: numpy.ndarray[numpy.float64]) None#
gradN_vector_T(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric, elemvec: numpy.ndarray[numpy.float64], qtensor: numpy.ndarray[numpy.float64]) None#
int_N_scalar_NT_dV(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric, qscalar: numpy.ndarray[numpy.float64], elemmat: numpy.ndarray[numpy.float64]) None#
int_N_vector_dV(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric, qvector: numpy.ndarray[numpy.float64], elemvec: numpy.ndarray[numpy.float64]) None#
int_gradN_dot_tensor2_dV(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric, qtensor: numpy.ndarray[numpy.float64], elemvec: numpy.ndarray[numpy.float64]) None#
int_gradN_dot_tensor4_dot_gradNT_dV(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric, qtensor: numpy.ndarray[numpy.float64], elemmat: numpy.ndarray[numpy.float64]) None#
interpQuad_vector(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric, elemvec: numpy.ndarray[numpy.float64], qvector: numpy.ndarray[numpy.float64]) None#
property ndim#

Number of spatial dimensions

property nelem#

Number of elements

property nip#

Number of integration points per element

property nne#

Number of nodes per element

shape_elemmat(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric) List[int[3]]#
shape_elemvec(*args, **kwargs)#

Overloaded function.

  1. shape_elemvec(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric) -> List[int[3]]

  2. shape_elemvec(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric, tdim: int) -> List[int[3]]

shape_qscalar(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric) List[int[2]]#
shape_qtensor(*args, **kwargs)#

Overloaded function.

  1. shape_qtensor(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric, rank: int) -> List[int]

  2. shape_qtensor(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric, rank: int, tdim: int) -> List[int]

shape_qvector(*args, **kwargs)#

Overloaded function.

  1. shape_qvector(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric) -> List[int[3]]

  2. shape_qvector(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric, tdim: int) -> List[int[3]]

symGradN_vector(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric, elemvec: numpy.ndarray[numpy.float64], qtensor: numpy.ndarray[numpy.float64]) None#
property tdim#

Number of spatial dimensions for tensors

update_x(self: GooseFEM.Element.Quad4.QuadratureAxisymmetric, x: numpy.ndarray[numpy.float64]) None#
class GooseFEM.Element.Quad4.QuadraturePlanar#

Bases: pybind11_builtins.pybind11_object

AsTensor(self: GooseFEM.Element.Quad4.QuadraturePlanar, rank: int, qscalar: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
property GradN#

Shape function gradients [nelem, nip, nne, ndim]

GradN_vector(self: GooseFEM.Element.Quad4.QuadraturePlanar, elemvec: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
GradN_vector_T(self: GooseFEM.Element.Quad4.QuadraturePlanar, elemvec: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
Int_N_scalar_NT_dV(self: GooseFEM.Element.Quad4.QuadraturePlanar, qscalar: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
Int_N_vector_dV(self: GooseFEM.Element.Quad4.QuadraturePlanar, qvector: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
Int_gradN_dot_tensor2_dV(self: GooseFEM.Element.Quad4.QuadraturePlanar, qtensor: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
Int_gradN_dot_tensor4_dot_gradNT_dV(self: GooseFEM.Element.Quad4.QuadraturePlanar, qtensor: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
InterpQuad_vector(self: GooseFEM.Element.Quad4.QuadraturePlanar, elemvec: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
SymGradN_vector(self: GooseFEM.Element.Quad4.QuadraturePlanar, elemvec: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
__annotations__ = {}#
__init__(*args, **kwargs)#

Overloaded function.

  1. __init__(self: GooseFEM.Element.Quad4.QuadraturePlanar, x: numpy.ndarray[numpy.float64], thick: float = 1.0) -> None

See GooseFEM::Element::Quad4::QuadraturePlanar.

  1. __init__(self: GooseFEM.Element.Quad4.QuadraturePlanar, x: numpy.ndarray[numpy.float64], xi: numpy.ndarray[numpy.float64], w: numpy.ndarray[numpy.float64], thick: float = 1.0) -> None

See GooseFEM::Element::Quad4::QuadraturePlanar.

__repr__(self: GooseFEM.Element.Quad4.QuadraturePlanar) str#
property dV#

Integration point volume (qscalar)

gradN_vector(self: GooseFEM.Element.Quad4.QuadraturePlanar, elemvec: numpy.ndarray[numpy.float64], qtensor: numpy.ndarray[numpy.float64]) None#
gradN_vector_T(self: GooseFEM.Element.Quad4.QuadraturePlanar, elemvec: numpy.ndarray[numpy.float64], qtensor: numpy.ndarray[numpy.float64]) None#
int_N_scalar_NT_dV(self: GooseFEM.Element.Quad4.QuadraturePlanar, qscalar: numpy.ndarray[numpy.float64], elemmat: numpy.ndarray[numpy.float64]) None#
int_N_vector_dV(self: GooseFEM.Element.Quad4.QuadraturePlanar, qvector: numpy.ndarray[numpy.float64], elemvec: numpy.ndarray[numpy.float64]) None#
int_gradN_dot_tensor2_dV(self: GooseFEM.Element.Quad4.QuadraturePlanar, qtensor: numpy.ndarray[numpy.float64], elemvec: numpy.ndarray[numpy.float64]) None#
int_gradN_dot_tensor4_dot_gradNT_dV(self: GooseFEM.Element.Quad4.QuadraturePlanar, qtensor: numpy.ndarray[numpy.float64], elemmat: numpy.ndarray[numpy.float64]) None#
interpQuad_vector(self: GooseFEM.Element.Quad4.QuadraturePlanar, elemvec: numpy.ndarray[numpy.float64], qvector: numpy.ndarray[numpy.float64]) None#
property ndim#

Number of spatial dimensions

property nelem#

Number of elements

property nip#

Number of integration points per element

property nne#

Number of nodes per element

shape_elemmat(self: GooseFEM.Element.Quad4.QuadraturePlanar) List[int[3]]#
shape_elemvec(*args, **kwargs)#

Overloaded function.

  1. shape_elemvec(self: GooseFEM.Element.Quad4.QuadraturePlanar) -> List[int[3]]

  2. shape_elemvec(self: GooseFEM.Element.Quad4.QuadraturePlanar, tdim: int) -> List[int[3]]

shape_qscalar(self: GooseFEM.Element.Quad4.QuadraturePlanar) List[int[2]]#
shape_qtensor(*args, **kwargs)#

Overloaded function.

  1. shape_qtensor(self: GooseFEM.Element.Quad4.QuadraturePlanar, rank: int) -> List[int]

  2. shape_qtensor(self: GooseFEM.Element.Quad4.QuadraturePlanar, rank: int, tdim: int) -> List[int]

shape_qvector(*args, **kwargs)#

Overloaded function.

  1. shape_qvector(self: GooseFEM.Element.Quad4.QuadraturePlanar) -> List[int[3]]

  2. shape_qvector(self: GooseFEM.Element.Quad4.QuadraturePlanar, tdim: int) -> List[int[3]]

symGradN_vector(self: GooseFEM.Element.Quad4.QuadraturePlanar, elemvec: numpy.ndarray[numpy.float64], qtensor: numpy.ndarray[numpy.float64]) None#
property tdim#

Number of spatial dimensions for tensors

update_x(self: GooseFEM.Element.Quad4.QuadraturePlanar, x: numpy.ndarray[numpy.float64]) None#

GooseFEM.Element.Quad4.Gauss#

Gauss quadrature

GooseFEM.Element.Quad4.Gauss.nip() int#
GooseFEM.Element.Quad4.Gauss.w() numpy.ndarray[numpy.float64]#
GooseFEM.Element.Quad4.Gauss.xi() numpy.ndarray[numpy.float64]#

GooseFEM.Element.Quad4.Nodal#

Nodal quadrature

GooseFEM.Element.Quad4.Nodal.nip() int#
GooseFEM.Element.Quad4.Nodal.w() numpy.ndarray[numpy.float64]#
GooseFEM.Element.Quad4.Nodal.xi() numpy.ndarray[numpy.float64]#

GooseFEM.Element.Quad4.MidPoint#

MidPoint quadrature

GooseFEM.Element.Quad4.MidPoint.nip() int#
GooseFEM.Element.Quad4.MidPoint.w() numpy.ndarray[numpy.float64]#
GooseFEM.Element.Quad4.MidPoint.xi() numpy.ndarray[numpy.float64]#

GooseFEM.Element.Hex8#

Linear hexahedron (brick) elements (3D)

class GooseFEM.Element.Hex8.Quadrature#

Bases: pybind11_builtins.pybind11_object

AsTensor(self: GooseFEM.Element.Hex8.Quadrature, rank: int, qscalar: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
property GradN#

Shape function gradients [nelem, nip, nne, ndim]

GradN_vector(self: GooseFEM.Element.Hex8.Quadrature, elemvec: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
GradN_vector_T(self: GooseFEM.Element.Hex8.Quadrature, elemvec: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
Int_N_scalar_NT_dV(self: GooseFEM.Element.Hex8.Quadrature, qscalar: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
Int_N_vector_dV(self: GooseFEM.Element.Hex8.Quadrature, qvector: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
Int_gradN_dot_tensor2_dV(self: GooseFEM.Element.Hex8.Quadrature, qtensor: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
Int_gradN_dot_tensor4_dot_gradNT_dV(self: GooseFEM.Element.Hex8.Quadrature, qtensor: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
InterpQuad_vector(self: GooseFEM.Element.Hex8.Quadrature, elemvec: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
SymGradN_vector(self: GooseFEM.Element.Hex8.Quadrature, elemvec: numpy.ndarray[numpy.float64]) numpy.ndarray[numpy.float64]#
__annotations__ = {}#
__init__(*args, **kwargs)#

Overloaded function.

  1. __init__(self: GooseFEM.Element.Hex8.Quadrature, x: numpy.ndarray[numpy.float64]) -> None

See GooseFEM::Element::Hex8::Quadrature.

  1. __init__(self: GooseFEM.Element.Hex8.Quadrature, x: numpy.ndarray[numpy.float64], xi: numpy.ndarray[numpy.float64], w: numpy.ndarray[numpy.float64]) -> None

See GooseFEM::Element::Hex8::Quadrature.

__repr__(self: GooseFEM.Element.Hex8.Quadrature) str#
property dV#

Integration point volume (qscalar)

gradN_vector(self: GooseFEM.Element.Hex8.Quadrature, elemvec: numpy.ndarray[numpy.float64], qtensor: numpy.ndarray[numpy.float64]) None#
gradN_vector_T(self: GooseFEM.Element.Hex8.Quadrature, elemvec: numpy.ndarray[numpy.float64], qtensor: numpy.ndarray[numpy.float64]) None#
int_N_scalar_NT_dV(self: GooseFEM.Element.Hex8.Quadrature, qscalar: numpy.ndarray[numpy.float64], elemmat: numpy.ndarray[numpy.float64]) None#
int_N_vector_dV(self: GooseFEM.Element.Hex8.Quadrature, qvector: numpy.ndarray[numpy.float64], elemvec: numpy.ndarray[numpy.float64]) None#
int_gradN_dot_tensor2_dV(self: GooseFEM.Element.Hex8.Quadrature, qtensor: numpy.ndarray[numpy.float64], elemvec: numpy.ndarray[numpy.float64]) None#
int_gradN_dot_tensor4_dot_gradNT_dV(self: GooseFEM.Element.Hex8.Quadrature, qtensor: numpy.ndarray[numpy.float64], elemmat: numpy.ndarray[numpy.float64]) None#
interpQuad_vector(self: GooseFEM.Element.Hex8.Quadrature, elemvec: numpy.ndarray[numpy.float64], qvector: numpy.ndarray[numpy.float64]) None#
property ndim#

Number of spatial dimensions

property nelem#

Number of elements

property nip#

Number of integration points per element

property nne#

Number of nodes per element

shape_elemmat(self: GooseFEM.Element.Hex8.Quadrature) List[int[3]]#
shape_elemvec(*args, **kwargs)#

Overloaded function.

  1. shape_elemvec(self: GooseFEM.Element.Hex8.Quadrature) -> List[int[3]]

  2. shape_elemvec(self: GooseFEM.Element.Hex8.Quadrature, tdim: int) -> List[int[3]]

shape_qscalar(self: GooseFEM.Element.Hex8.Quadrature) List[int[2]]#
shape_qtensor(*args, **kwargs)#

Overloaded function.

  1. shape_qtensor(self: GooseFEM.Element.Hex8.Quadrature, rank: int) -> List[int]

  2. shape_qtensor(self: GooseFEM.Element.Hex8.Quadrature, rank: int, tdim: int) -> List[int]

shape_qvector(*args, **kwargs)#

Overloaded function.

  1. shape_qvector(self: GooseFEM.Element.Hex8.Quadrature) -> List[int[3]]

  2. shape_qvector(self: GooseFEM.Element.Hex8.Quadrature, tdim: int) -> List[int[3]]

symGradN_vector(self: GooseFEM.Element.Hex8.Quadrature, elemvec: numpy.ndarray[numpy.float64], qtensor: numpy.ndarray[numpy.float64]) None#
property tdim#

Number of spatial dimensions for tensors

update_x(self: GooseFEM.Element.Hex8.Quadrature, x: numpy.ndarray[numpy.float64]) None#

GooseFEM.Element.Hex8.Gauss#

Gauss quadrature

GooseFEM.Element.Hex8.Gauss.nip() int#
GooseFEM.Element.Hex8.Gauss.w() numpy.ndarray[numpy.float64]#
GooseFEM.Element.Hex8.Gauss.xi() numpy.ndarray[numpy.float64]#

GooseFEM.Element.Hex8.Nodal#

Nodal quadrature

GooseFEM.Element.Hex8.Nodal.nip() int#
GooseFEM.Element.Hex8.Nodal.w() numpy.ndarray[numpy.float64]#
GooseFEM.Element.Hex8.Nodal.xi() numpy.ndarray[numpy.float64]#

GooseFEM.Mesh#

Generic mesh routines

class GooseFEM.Mesh.ElementType#

Bases: pybind11_builtins.pybind11_object

See GooseFEM::Mesh::ElementType.

Members:

Unknown

Tri3

Quad4

Hex8

Hex8 = <ElementType.Hex8: 2>#
Quad4 = <ElementType.Quad4: 1>#
Tri3 = <ElementType.Tri3: 3>#
Unknown = <ElementType.Unknown: 0>#
__annotations__ = {}#
__eq__(self: object, other: object) bool#
__hash__(self: object) int#
__index__(self: GooseFEM.Mesh.ElementType) int#
__init__(self: GooseFEM.Mesh.ElementType, value: int) None#
__int__(self: GooseFEM.Mesh.ElementType) int#
__ne__(self: object, other: object) bool#
__repr__(self: object) str#
__str__()#

name(self: handle) -> str

property name#
property value#
class GooseFEM.Mesh.ManualStitch#

Bases: pybind11_builtins.pybind11_object

__annotations__ = {}#
__init__(self: GooseFEM.Mesh.ManualStitch, coor_a: numpy.ndarray[numpy.float64], conn_a: numpy.ndarray[numpy.uint64], overlapping_nodes_a: numpy.ndarray[numpy.uint64], coor_b: numpy.ndarray[numpy.float64], conn_b: numpy.ndarray[numpy.uint64], overlapping_nodes_b: numpy.ndarray[numpy.uint64], check_position: bool = True, rtol: float = 1e-05, atol: float = 1e-08) None#

See GooseFEM::Mesh::ManualStitch.

__repr__(self: GooseFEM.Mesh.ManualStitch) str#
property conn#
property coor#
property dofs#
elemmap(*args, **kwargs)#

Overloaded function.

  1. elemmap(self: GooseFEM.Mesh.ManualStitch) -> List[numpy.ndarray[numpy.uint64]]

  2. elemmap(self: GooseFEM.Mesh.ManualStitch, mesh_index: int) -> numpy.ndarray[numpy.uint64]

elemset(self: GooseFEM.Mesh.ManualStitch, set: numpy.ndarray[numpy.uint64], mesh_index: int) numpy.ndarray[numpy.uint64]#
property ndim#
property nelem#
property nmesh#
property nne#
property nnode#
nodemap(*args, **kwargs)#

Overloaded function.

  1. nodemap(self: GooseFEM.Mesh.ManualStitch) -> List[numpy.ndarray[numpy.uint64]]

  2. nodemap(self: GooseFEM.Mesh.ManualStitch, mesh_index: int) -> numpy.ndarray[numpy.uint64]

nodeset(self: GooseFEM.Mesh.ManualStitch, set: numpy.ndarray[numpy.uint64], mesh_index: int) numpy.ndarray[numpy.uint64]#
class GooseFEM.Mesh.Renumber#

Bases: pybind11_builtins.pybind11_object

__annotations__ = {}#
__init__(self: GooseFEM.Mesh.Renumber, dofs: numpy.ndarray[numpy.uint64]) None#

See GooseFEM::Mesh::Renumber.

__repr__(self: GooseFEM.Mesh.Renumber) str#
apply(self: GooseFEM.Mesh.Renumber, arg0: numpy.ndarray[numpy.uint64]) numpy.ndarray[numpy.uint64]#
property index#
class GooseFEM.Mesh.Reorder#

Bases: pybind11_builtins.pybind11_object

__annotations__ = {}#
__init__(*args, **kwargs)#

Overloaded function.

  1. __init__(self: GooseFEM.Mesh.Reorder, arg0: numpy.ndarray[numpy.uint64]) -> None

See GooseFEM::Mesh::Reorder.

  1. __init__(self: GooseFEM.Mesh.Reorder, arg0: numpy.ndarray[numpy.uint64], arg1: numpy.ndarray[numpy.uint64]) -> None

See GooseFEM::Mesh::Reorder.

  1. __init__(self: GooseFEM.Mesh.Reorder, arg0: numpy.ndarray[numpy.uint64], arg1: numpy.ndarray[numpy.uint64], arg2: numpy.ndarray[numpy.uint64]) -> None

See GooseFEM::Mesh::Reorder.

  1. __init__(self: GooseFEM.Mesh.Reorder, arg0: numpy.ndarray[numpy.uint64], arg1: numpy.ndarray[numpy.uint64], arg2: numpy.ndarray[numpy.uint64], arg3: numpy.ndarray[numpy.uint64]) -> None

See GooseFEM::Mesh::Reorder.

__repr__(self: GooseFEM.Mesh.Reorder) str#
apply(self: GooseFEM.Mesh.Reorder, arg0: numpy.ndarray[numpy.uint64]) numpy.ndarray[numpy.uint64]#
property index#
class GooseFEM.Mesh.Stitch#

Bases: pybind11_builtins.pybind11_object

__annotations__ = {}#
__init__(self: GooseFEM.Mesh.Stitch, rtol: float = 1e-05, atol: float = 1e-08) None#

See GooseFEM::Mesh::Stitch.

__repr__(self: GooseFEM.Mesh.Stitch) str#
property conn#
property coor#
property dofs#
elemmap(*args, **kwargs)#

Overloaded function.

  1. elemmap(self: GooseFEM.Mesh.Stitch) -> List[numpy.ndarray[numpy.uint64]]

  2. elemmap(self: GooseFEM.Mesh.Stitch, mesh_index: int) -> numpy.ndarray[numpy.uint64]

elemset(*args, **kwargs)#

Overloaded function.

  1. elemset(self: GooseFEM.Mesh.Stitch, set: numpy.ndarray[numpy.uint64], mesh_index: int) -> numpy.ndarray[numpy.uint64]

  2. elemset(self: GooseFEM.Mesh.Stitch, set: List[numpy.ndarray[numpy.uint64]]) -> numpy.ndarray[numpy.uint64]

property ndim#
property nelem#
property nmesh#
property nne#
property nnode#
nodemap(*args, **kwargs)#

Overloaded function.

  1. nodemap(self: GooseFEM.Mesh.Stitch) -> List[numpy.ndarray[numpy.uint64]]

  2. nodemap(self: GooseFEM.Mesh.Stitch, mesh_index: int) -> numpy.ndarray[numpy.uint64]

nodeset(*args, **kwargs)#

Overloaded function.

  1. nodeset(self: GooseFEM.Mesh.Stitch, set: numpy.ndarray[numpy.uint64], mesh_index: int) -> numpy.ndarray[numpy.uint64]

  2. nodeset(self: GooseFEM.Mesh.Stitch, set: List[numpy.ndarray[numpy.uint64]]) -> numpy.ndarray[numpy.uint64]

push_back(self: GooseFEM.Mesh.Stitch, coor: numpy.ndarray[numpy.float64], conn: numpy.ndarray[numpy.uint64]) None#
class GooseFEM.Mesh.Vstack#

Bases: GooseFEM.Mesh.Stitch

__annotations__ = {}#
__init__(self: GooseFEM.Mesh.Vstack, check_overlap: bool = True, rtol: float = 1e-05, atol: float = 1e-08) None#

See GooseFEM::Mesh::Vstack.

__repr__(self: GooseFEM.Mesh.Vstack) str#
push_back(self: GooseFEM.Mesh.Vstack, coor: numpy.ndarray[numpy.float64], conn: numpy.ndarray[numpy.uint64], nodes_bottom: numpy.ndarray[numpy.uint64], nodes_top: numpy.ndarray[numpy.uint64]) None#
GooseFEM.Mesh.center_of_gravity(*args, **kwargs)#

Overloaded function.

  1. center_of_gravity(coor: numpy.ndarray[numpy.float64], conn: numpy.ndarray[numpy.uint64]) -> numpy.ndarray[numpy.float64]

See GooseFEM::Mesh::center_of_gravity().

  1. center_of_gravity(coor: numpy.ndarray[numpy.float64], conn: numpy.ndarray[numpy.uint64], type: GooseFEM.Mesh.ElementType) -> numpy.ndarray[numpy.float64]

See GooseFEM::Mesh::center_of_gravity().

GooseFEM.Mesh.centers(*args, **kwargs)#

Overloaded function.

  1. centers(coor: numpy.ndarray[numpy.float64], conn: numpy.ndarray[numpy.uint64]) -> numpy.ndarray[numpy.float64]

See GooseFEM::Mesh::centers().

  1. centers(coor: numpy.ndarray[numpy.float64], conn: numpy.ndarray[numpy.uint64], type: GooseFEM.Mesh.ElementType) -> numpy.ndarray[numpy.float64]

See GooseFEM::Mesh::centers().

GooseFEM.Mesh.coordination(conn: numpy.ndarray[numpy.uint64]) numpy.ndarray[numpy.uint64]#

See GooseFEM::Mesh::coordination().

GooseFEM.Mesh.dofs(nnode: int, ndim: int) numpy.ndarray[numpy.uint64]#

See GooseFEM::Mesh::dofs().

GooseFEM.Mesh.edgesize(*args, **kwargs)#

Overloaded function.

  1. edgesize(coor: numpy.ndarray[numpy.float64], conn: numpy.ndarray[numpy.uint64]) -> numpy.ndarray[numpy.float64]

See GooseFEM::Mesh::edgesize().

  1. edgesize(coor: numpy.ndarray[numpy.float64], conn: numpy.ndarray[numpy.uint64], type: GooseFEM.Mesh.ElementType) -> numpy.ndarray[numpy.float64]

See GooseFEM::Mesh::edgesize().

GooseFEM.Mesh.elem2node(*args, **kwargs)#

Overloaded function.

  1. elem2node(conn: numpy.ndarray[numpy.uint64], sorted: bool = True) -> List[List[int]]

See GooseFEM::Mesh::elem2node().

  1. elem2node(conn: numpy.ndarray[numpy.uint64], dofs: numpy.ndarray[numpy.uint64], sorted: bool = True) -> List[List[int]]

See GooseFEM::Mesh::elem2node().

GooseFEM.Mesh.elemmap2nodemap(*args, **kwargs)#

Overloaded function.

  1. elemmap2nodemap(elem_map: numpy.ndarray[numpy.uint64], coor: numpy.ndarray[numpy.float64], conn: numpy.ndarray[numpy.uint64]) -> numpy.ndarray[numpy.uint64]

See GooseFEM::Mesh::elemmap2nodemap().

  1. elemmap2nodemap(elem_map: numpy.ndarray[numpy.uint64], coor: numpy.ndarray[numpy.float64], conn: numpy.ndarray[numpy.uint64], type: GooseFEM.Mesh.ElementType) -> numpy.ndarray[numpy.uint64]

See GooseFEM::Mesh::elemmap2nodemap().

GooseFEM.Mesh.nodal_mass(*args, **kwargs)#

Overloaded function.

  1. nodal_mass(coor: numpy.ndarray[numpy.float64], conn: numpy.ndarray[numpy.uint64]) -> numpy.ndarray[numpy.float64]

See GooseFEM::Mesh::nodal_mass().

  1. nodal_mass(coor: numpy.ndarray[numpy.float64], conn: numpy.ndarray[numpy.uint64], type: GooseFEM.Mesh.ElementType) -> numpy.ndarray[numpy.float64]

See GooseFEM::Mesh::nodal_mass().

GooseFEM.Mesh.nodaltyings(dofs: numpy.ndarray[numpy.uint64]) List[List[int]]#

See GooseFEM::Mesh::nodaltyings().

GooseFEM.Mesh.node2dof(dofs: numpy.ndarray[numpy.uint64], sorted: bool = True) List[List[int]]#

See GooseFEM::Mesh::node2dof().

GooseFEM.Mesh.overlapping(coor_a: numpy.ndarray[numpy.float64], coor_b: numpy.ndarray[numpy.float64], rtol: float = 1e-05, atol: float = 1e-08) numpy.ndarray[numpy.uint64]#

See GooseFEM::Mesh::overlapping().

GooseFEM.Mesh.renumber(dofs: numpy.ndarray[numpy.uint64]) numpy.ndarray[numpy.uint64]#

See GooseFEM::Mesh::renumber().

GooseFEM.Mesh.Tri3#

Linear triangular elements (2D)

class GooseFEM.Mesh.Tri3.Regular#

Bases: pybind11_builtins.pybind11_object

__annotations__ = {}#
__init__(self: GooseFEM.Mesh.Tri3.Regular, nx: int, ny: int, h: float = 1.0) None#

See GooseFEM::Mesh::Tri3::Regular.

__repr__(self: GooseFEM.Mesh.Tri3.Regular) str#
property conn#
property coor#
property dofs#
property dofsPeriodic#
property elementType#
property h#
property ndim#
property nelem#
property nelx#
property nely#
property nne#
property nnode#
property nodesBottomEdge#
property nodesBottomLeftCorner#
property nodesBottomOpenEdge#
property nodesBottomRightCorner#
property nodesLeftBottomCorner#
property nodesLeftEdge#
property nodesLeftOpenEdge#
property nodesLeftTopCorner#
property nodesOrigin#
property nodesPeriodic#
property nodesRightBottomCorner#
property nodesRightEdge#
property nodesRightOpenEdge#
property nodesRightTopCorner#
property nodesTopEdge#
property nodesTopLeftCorner#
property nodesTopOpenEdge#
property nodesTopRightCorner#
GooseFEM.Mesh.Tri3.getOrientation(coor: numpy.ndarray[numpy.float64], conn: numpy.ndarray[numpy.uint64]) numpy.ndarray[numpy.int32]#

See GooseFEM::Mesh::Tri3::getOrientation().

GooseFEM.Mesh.Tri3.setOrientation(*args, **kwargs)#

Overloaded function.

  1. setOrientation(coor: numpy.ndarray[numpy.float64], conn: numpy.ndarray[numpy.uint64], orientation: int) -> numpy.ndarray[numpy.uint64]

See GooseFEM::Mesh::Tri3::setOrientation().

  1. setOrientation(coor: numpy.ndarray[numpy.float64], conn: numpy.ndarray[numpy.uint64], val: numpy.ndarray[numpy.int32], orientation: int) -> numpy.ndarray[numpy.uint64]

See GooseFEM::Mesh::Tri3::setOrientation().

GooseFEM.Mesh.Quad4#

Linear quadrilateral elements (2D)

class GooseFEM.Mesh.Quad4.FineLayer#

Bases: pybind11_builtins.pybind11_object

__annotations__ = {}#
__init__(*args, **kwargs)#

Overloaded function.

  1. __init__(self: GooseFEM.Mesh.Quad4.FineLayer, nx: int, ny: int, h: float = 1.0, nfine: int = 1) -> None

See GooseFEM::Mesh::Quad4::FineLayer.

  1. __init__(self: GooseFEM.Mesh.Quad4.FineLayer, coor: numpy.ndarray[numpy.float64], conn: numpy.ndarray[numpy.uint64]) -> None

See GooseFEM::Mesh::Quad4::FineLayer.

__repr__(self: GooseFEM.Mesh.Quad4.FineLayer) str#
property conn#
property coor#
property dofs#
property dofsPeriodic#
property elementType#
elementgrid_around_ravel(self: GooseFEM.Mesh.Quad4.FineLayer, element: int, size: int, periodic: bool = True) numpy.ndarray[numpy.uint64]#
elementgrid_leftright(self: GooseFEM.Mesh.Quad4.FineLayer, element: int, left: int, right: int, periodic: bool = True) numpy.ndarray[numpy.uint64]#
elementgrid_ravel(self: GooseFEM.Mesh.Quad4.FineLayer, rows_range: List[int], cols_range: List[int]) numpy.ndarray[numpy.uint64]#
elementsLayer(self: GooseFEM.Mesh.Quad4.FineLayer, layer: int) numpy.ndarray[numpy.uint64]#
property elementsMiddleLayer#
property elemrow_nelem#
property elemrow_nhx#
property elemrow_nhy#
property elemrow_type#
property h#
property ndim#
property nelem#
property nelx#
property nely#
property nne#
property nnode#
property nodesBottomEdge#
property nodesBottomLeftCorner#
property nodesBottomOpenEdge#
property nodesBottomRightCorner#
property nodesLeftBottomCorner#
property nodesLeftEdge#
property nodesLeftOpenEdge#
property nodesLeftTopCorner#
property nodesOrigin#
property nodesPeriodic#
property nodesRightBottomCorner#
property nodesRightEdge#
property nodesRightOpenEdge#
property nodesRightTopCorner#
property nodesTopEdge#
property nodesTopLeftCorner#
property nodesTopOpenEdge#
property nodesTopRightCorner#
roll(self: GooseFEM.Mesh.Quad4.FineLayer, arg0: int) numpy.ndarray[numpy.uint64]#
class GooseFEM.Mesh.Quad4.Regular#

Bases: pybind11_builtins.pybind11_object

__annotations__ = {}#
__init__(self: GooseFEM.Mesh.Quad4.Regular, nx: int, ny: int, h: float = 1.0) None#

See GooseFEM::Mesh::Quad4::Regular.

__repr__(self: GooseFEM.Mesh.Quad4.Regular) str#
property conn#
property coor#
property dofs#
property dofsPeriodic#
property elementType#
property elementgrid#
property h#
property ndim#
property nelem#
property nelx#
property nely#
property nne#
property nnode#
property nodesBottomEdge#
property nodesBottomLeftCorner#
property nodesBottomOpenEdge#
property nodesBottomRightCorner#
property nodesLeftBottomCorner#
property nodesLeftEdge#
property nodesLeftOpenEdge#
property nodesLeftTopCorner#
property nodesOrigin#
property nodesPeriodic#
property nodesRightBottomCorner#
property nodesRightEdge#
property nodesRightOpenEdge#
property nodesRightTopCorner#
property nodesTopEdge#
property nodesTopLeftCorner#
property nodesTopOpenEdge#
property nodesTopRightCorner#

GooseFEM.Mesh.Quad4.Map#

Map mesh objects

class GooseFEM.Mesh.Quad4.Map.FineLayer2Regular#

Bases: pybind11_builtins.pybind11_object

__annotations__ = {}#
__init__(self: GooseFEM.Mesh.Quad4.Map.FineLayer2Regular, mesh: GooseFEM.Mesh.Quad4.FineLayer) None#

See GooseFEM::Mesh::Quad4::Map::FineLayer2Regular.

__repr__(self: GooseFEM.Mesh.Quad4.Map.FineLayer2Regular) str#
property fineLayerMesh#
property map#
property mapFraction#
mapToRegular(*args, **kwargs)#

Overloaded function.

  1. mapToRegular(self: GooseFEM.Mesh.Quad4.Map.FineLayer2Regular, arg0: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

  2. mapToRegular(self: GooseFEM.Mesh.Quad4.Map.FineLayer2Regular, arg0: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

  3. mapToRegular(self: GooseFEM.Mesh.Quad4.Map.FineLayer2Regular, arg0: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

  4. mapToRegular(self: GooseFEM.Mesh.Quad4.Map.FineLayer2Regular, arg0: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

property regularMesh#
class GooseFEM.Mesh.Quad4.Map.RefineRegular#

Bases: pybind11_builtins.pybind11_object

__annotations__ = {}#
__init__(self: GooseFEM.Mesh.Quad4.Map.RefineRegular, mesh: GooseFEM.Mesh.Quad4.Regular, nx: int, ny: int) None#

See GooseFEM::Mesh::Quad4::Map::RefineRegular.

__repr__(self: GooseFEM.Mesh.Quad4.Map.RefineRegular) str#
averageToCoarse(*args, **kwargs)#

Overloaded function.

  1. averageToCoarse(self: GooseFEM.Mesh.Quad4.Map.RefineRegular, arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

  2. averageToCoarse(self: GooseFEM.Mesh.Quad4.Map.RefineRegular, arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

  3. averageToCoarse(self: GooseFEM.Mesh.Quad4.Map.RefineRegular, arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

  4. averageToCoarse(self: GooseFEM.Mesh.Quad4.Map.RefineRegular, arg0: numpy.ndarray[numpy.float64], arg1: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

property coarseMesh#
property fineMesh#
property map#
mapToFine(*args, **kwargs)#

Overloaded function.

  1. mapToFine(self: GooseFEM.Mesh.Quad4.Map.RefineRegular, arg0: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

  2. mapToFine(self: GooseFEM.Mesh.Quad4.Map.RefineRegular, arg0: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

  3. mapToFine(self: GooseFEM.Mesh.Quad4.Map.RefineRegular, arg0: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

  4. mapToFine(self: GooseFEM.Mesh.Quad4.Map.RefineRegular, arg0: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

meanToCoarse(*args, **kwargs)#

Overloaded function.

  1. meanToCoarse(self: GooseFEM.Mesh.Quad4.Map.RefineRegular, arg0: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

  2. meanToCoarse(self: GooseFEM.Mesh.Quad4.Map.RefineRegular, arg0: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

  3. meanToCoarse(self: GooseFEM.Mesh.Quad4.Map.RefineRegular, arg0: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

  4. meanToCoarse(self: GooseFEM.Mesh.Quad4.Map.RefineRegular, arg0: numpy.ndarray[numpy.float64]) -> numpy.ndarray[numpy.float64]

GooseFEM.Mesh.Hex8#

Linear hexahedron (brick) elements (3D)

class GooseFEM.Mesh.Hex8.FineLayer#

Bases: pybind11_builtins.pybind11_object

__annotations__ = {}#
__init__(self: GooseFEM.Mesh.Hex8.FineLayer, nx: int, ny: int, nz: int, h: float = 1.0, nfine: int = 1) None#

See GooseFEM::Mesh::Hex8::FineLayer.

__repr__(self: GooseFEM.Mesh.Hex8.FineLayer) str#
elementsMiddleLayer(self: GooseFEM.Mesh.Hex8.FineLayer) numpy.ndarray[numpy.uint64]#
class GooseFEM.Mesh.Hex8.Regular#

Bases: pybind11_builtins.pybind11_object

__annotations__ = {}#
__init__(self: GooseFEM.Mesh.Hex8.Regular, nx: int, ny: int, nz: int, h: float = 1.0) None#

See GooseFEM::Mesh::Hex8::Regular.

__repr__(self: GooseFEM.Mesh.Hex8.Regular) str#
property conn#
property coor#
property dofs#
property dofsPeriodic#
property elementType#
property h#
property ndim#
property nelem#
property nelx#
property nely#
property nne#
property nnode#
property nodesBack#
property nodesBackBottomEdge#
property nodesBackBottomLeftCorner#
property nodesBackBottomOpenEdge#
property nodesBackBottomRightCorner#
property nodesBackFace#
property nodesBackLeftBottomCorner#
property nodesBackLeftEdge#
property nodesBackLeftOpenEdge#
property nodesBackLeftTopCorner#
property nodesBackRightBottomCorner#
property nodesBackRightEdge#
property nodesBackRightOpenEdge#
property nodesBackRightTopCorner#
property nodesBackTopEdge#
property nodesBackTopLeftCorner#
property nodesBackTopOpenEdge#
property nodesBackTopRightCorner#
property nodesBottom#
property nodesBottomBackEdge#
property nodesBottomBackLeftCorner#
property nodesBottomBackOpenEdge#
property nodesBottomBackRightCorner#
property nodesBottomFace#
property nodesBottomFrontEdge#
property nodesBottomFrontLeftCorner#
property nodesBottomFrontOpenEdge#
property nodesBottomFrontRightCorner#
property nodesBottomLeftBackCorner#
property nodesBottomLeftEdge#
property nodesBottomLeftFrontCorner#
property nodesBottomLeftOpenEdge#
property nodesBottomRightBackCorner#
property nodesBottomRightEdge#
property nodesBottomRightFrontCorner#
property nodesBottomRightOpenEdge#
property nodesFront#
property nodesFrontBottomEdge#
property nodesFrontBottomLeftCorner#
property nodesFrontBottomOpenEdge#
property nodesFrontBottomRightCorner#
property nodesFrontFace#
property nodesFrontLeftBottomCorner#
property nodesFrontLeftEdge#
property nodesFrontLeftOpenEdge#
property nodesFrontLeftTopCorner#
property nodesFrontRightBottomCorner#
property nodesFrontRightEdge#
property nodesFrontRightOpenEdge#
property nodesFrontRightTopCorner#
property nodesFrontTopEdge#
property nodesFrontTopLeftCorner#
property nodesFrontTopOpenEdge#
property nodesFrontTopRightCorner#
property nodesLeft#
property nodesLeftBackBottomCorner#
property nodesLeftBackEdge#
property nodesLeftBackOpenEdge#
property nodesLeftBackTopCorner#
property nodesLeftBottomBackCorner#
property nodesLeftBottomEdge#
property nodesLeftBottomFrontCorner#
property nodesLeftBottomOpenEdge#
property nodesLeftFace#
property nodesLeftFrontBottomCorner#
property nodesLeftFrontEdge#
property nodesLeftFrontOpenEdge#
property nodesLeftFrontTopCorner#
property nodesLeftTopBackCorner#
property nodesLeftTopEdge#
property nodesLeftTopFrontCorner#
property nodesLeftTopOpenEdge#
property nodesOrigin#
property nodesPeriodic#
property nodesRight#
property nodesRightBackBottomCorner#
property nodesRightBackEdge#
property nodesRightBackOpenEdge#
property nodesRightBackTopCorner#
property nodesRightBottomBackCorner#
property nodesRightBottomEdge#
property nodesRightBottomFrontCorner#
property nodesRightBottomOpenEdge#
property nodesRightFace#
property nodesRightFrontBottomCorner#
property nodesRightFrontEdge#
property nodesRightFrontOpenEdge#
property nodesRightFrontTopCorner#
property nodesRightTopBackCorner#
property nodesRightTopEdge#
property nodesRightTopFrontCorner#
property nodesRightTopOpenEdge#
property nodesTop#
property nodesTopBackEdge#
property nodesTopBackLeftCorner#
property nodesTopBackOpenEdge#
property nodesTopBackRightCorner#
property nodesTopFace#
property nodesTopFrontEdge#
property nodesTopFrontLeftCorner#
property nodesTopFrontOpenEdge#
property nodesTopFrontRightCorner#
property nodesTopLeftBackCorner#
property nodesTopLeftEdge#
property nodesTopLeftFrontCorner#
property nodesTopLeftOpenEdge#
property nodesTopRightBackCorner#
property nodesTopRightEdge#
property nodesTopRightFrontCorner#
property nodesTopRightOpenEdge#