version 0.4.1
ikarus.finite_elements Namespace Reference

Functions

def registerPreElement (name, includes, element_type, *args)
 
def volumeLoad (f, int d)
 
def volumeLoad1D (f)
 
def volumeLoad2D (f)
 
def volumeLoad3D (f)
 
def neumannBoundaryLoad (boundaryPatch, f)
 
def nonLinearElastic (mat)
 
def linearElastic (mat)
 
def truss (youngs_modulus, cross_section)
 
def eas (numberofparameters)
 
def kirchhoffLoveShell (float youngs_modulus, nu, thickness)
 
def makeFE (basis, *skills)
 

Function Documentation

◆ eas()

def ikarus.finite_elements.eas (   numberofparameters)
@brief Creates an enhanced assumed strains pre-element.

@param numberofparameters: The number of parameters.

@return: The registered enhanced assumed strains pre-element function.

◆ kirchhoffLoveShell()

def ikarus.finite_elements.kirchhoffLoveShell ( float  youngs_modulus,
  nu,
  thickness 
)
@brief Creates a Kirchhoff Love shell pre-element.

@param youngs_modulus: Young's modulus.
@param nu: Poisson's ratio.
@param thickness: The thickness of the shell.

@return: The registered Kirchhoff Love shell pre-element function.

◆ linearElastic()

def ikarus.finite_elements.linearElastic (   mat)
@brief Creates a linear elastic pre-element.

@param mat: The material.

@return: The registered linear elastic pre-element function.

◆ makeFE()

def ikarus.finite_elements.makeFE (   basis,
skills 
)
@brief Creates a finite element with the specified basis and skills.

@param basis: The basis for the finite element.
@param skills: Skills for the finite element.

@return: The created finite element.

◆ neumannBoundaryLoad()

def ikarus.finite_elements.neumannBoundaryLoad (   boundaryPatch,
  f 
)
@brief Creates a Neumann boundary load pre-element.

@param boundaryPatch: The boundary patch.
@param f: The traction function.

@return: The registered Neumann boundary load pre-element function.

◆ nonLinearElastic()

def ikarus.finite_elements.nonLinearElastic (   mat)
@brief Creates a non-linear elastic pre-element.

@param mat: The material.

@return: The registered non-linear elastic pre-element function.

◆ registerPreElement()

def ikarus.finite_elements.registerPreElement (   name,
  includes,
  element_type,
args 
)
@brief Registers a pre-element with the specified parameters.

@param name: The name of the pre-element.
@param includes: List of additional include files.
@param element_type: The type of the pre-element.
@param args: Additional arguments required for the pre-element registration.

@return: The registered pre-element function.
Here is the caller graph for this function:

◆ truss()

def ikarus.finite_elements.truss (   youngs_modulus,
  cross_section 
)
@brief Creates a truss pre-element.

@param youngs_modulus: Young's modulus.
@param cross_section: Cross-section area.

@return: The registered truss pre-element function.

◆ volumeLoad()

def ikarus.finite_elements.volumeLoad (   f,
int  d 
)
@brief Creates a volume load pre-element for the specified dimension.

@param f: The volume load function.
@param d: The dimension of the volume load (1, 2, or 3).

@return: The registered volume load pre-element function.
Here is the caller graph for this function:

◆ volumeLoad1D()

def ikarus.finite_elements.volumeLoad1D (   f)
@brief Creates a 1D volume load pre-element.

@param f: The volume load function.

@return: The registered 1D volume load pre-element function.

◆ volumeLoad2D()

def ikarus.finite_elements.volumeLoad2D (   f)
@brief Creates a 2D volume load pre-element.

@param f: The volume load function.

@return: The registered 2D volume load pre-element function.

◆ volumeLoad3D()

def ikarus.finite_elements.volumeLoad3D (   f)
@brief Creates a 3D volume load pre-element.

@param f: The volume load function.

@return: The registered 3D volume load pre-element function.