Mechanics#

class felupe.SolidBody(umat, field, statevars=None)[source]#

Bases: object

A SolidBody with methods for the assembly of sparse vectors/matrices.

class felupe.SolidBodyNearlyIncompressible(umat, field, bulk, state=None, statevars=None)[source]#

Bases: object

A (nearly) incompressible SolidBody with methods for the assembly of sparse vectors/matrices based on a MaterialTensor with state variables.

The volumetric material behaviour is defined by a strain energy function.

\[U(J) = \frac{K}{2} (J - 1)^2\]
class felupe.StateNearlyIncompressible(field)[source]#

Bases: object

A State with internal fields for (nearly) incompressible solid bodies.

h(parallel=False, jit=False)[source]#

Integrated shape-function gradient w.r.t. the deformed coordinates x.

v()[source]#

Cell volumes of the deformed configuration.

class felupe.SolidBodyGravity(field, gravity, density)[source]#

Bases: object

A SolidBody with methods for the assembly of sparse vectors/matrices.

update(gravity)[source]#
class felupe.SolidBodyPressure(field, pressure=None)[source]#

Bases: object

A hydrostatic pressure boundary on a SolidBody.

update(pressure)[source]#
class felupe.PointLoad(field, points, values=None, apply_on=0, axisymmetric=False)[source]#

Bases: object

A point load with methods for the assembly of sparse vectors/matrices.

update(values)[source]#
class felupe.Step(items, ramp, boundaries)[source]#

Bases: object

A Step with multiple substeps, subsequently depending on the solution of the previous substep.

generate(**kwargs)[source]#

Generate all substeps.

class felupe.Job(steps, callback=<function Job.<lambda>>, filename=None)[source]#

Bases: object

A job with a list of steps.

evaluate(filename=None, mesh=None, point_data={'Displacement': <function displacement>}, cell_data={'Deformation Gradient': <function deformation_gradient>, 'Logarithmic Strain': <function log_strain>, 'Principal Values of Logarithmic Strain': <function log_strain_principal>}, verbose=True, **kwargs)[source]#
class felupe.CharacteristicCurve(steps, boundary, callback=<function CharacteristicCurve.<lambda>>)[source]#

Bases: Job

plot(xaxis=0, yaxis=0, xlabel='x', ylabel='y', xscale=1, yscale=1, fig=None, ax=None, linestyle='.-', **kwargs)[source]#