ElasticityManager

Summary

class pvade.structure.ElasticityManager.Elasticity(domain, structural_analysis, params)

This class solves the CFD problem

Initialize the fluid solver

This method initialize the Flow object, namely, it creates all the necessary function spaces on the mesh, initializes key counting and boolean variables and records certain characteristic quantities like the minimum cell size and the number of degrees of freedom attributed to both the pressure and velocity function spaces.

Parameters:

domain (pvade.geometry.MeshManager.Domain) – A Domain object

_assemble_system(params)

Pre-assemble all LHS matrices and RHS vectors

Here we pre-assemble all the forms corresponding to the left-hand side matrices and right-hand side vectors once outside the time loop. This will enable us to re-use certain features like the sparsity pattern during the timestepping without any modification of the function calls.

Parameters:

params (pvade.Parameters.SimParams) – A SimParams object

build_boundary_conditions(domain, params)

Build the boundary conditions

A method to manage the building of boundary conditions, including the steps of identifying entities on the boundary, marking those degrees of freedom either by the identified facets or a gmsh marker function, and finally assembling a list of Boundary objects that enforce the correct value.

Parameters:
build_forms(domain, params)

Builds all variational statements

This method creates all the functions, expressions, and variational forms that will be needed for the numerical solution of Navier Stokes using a fractional step method. This includes the calculation of a tentative velocity, the calculation of the change in pressure required to correct the tentative velocity to enforce continuity, and the update to the velocity field to reflect this change in pressure.

Parameters:
build_nullspace(V)

Build PETSc nullspace for 3D elasticity

update_fields(u, u_old, v_old, a_old, dt, beta, gamma)

Update fields at the end of each time step.