Files
JuliaFEM.jl/docs/api/JuliaFEM.elasticity_solver.md
T
ovainola 02629b80fb test
2015-08-25 21:09:02 +03:00

4.5 KiB

JuliaFEM.elasticity_solver

Internal


assemble!(fe, eldofs_, I, V)

Assemble global RHS to I,V ready for sparse format

Parameters

fe : local vector eldofs_ : Array degrees of freedom I,V : Arrays for sparse matrix

Notes

eldofs can also be node ids for convenience. In that case dimension is calculated and eldofs are "extended" to problem dimension.

source: JuliaFEM/src/elasticity_solver.jl:171


assemble!(ke, eldofs_, I, J, V)

Assemble global stiffness matrix to I,J,V ready for sparse format

Parameters

ke : local matrix eldofs_ : Array degrees of freedom I,J,V : Arrays for sparse matrix

Notes

eldofs can also be node ids for convenience. In that case dimension is calculated and eldofs are "extended" to problem dimension.

source: JuliaFEM/src/elasticity_solver.jl:130


calc_local_matrices!(X, u, R, Kt, N, dNdchi, lambda_, mu_, ipoints, iweights)

Calculate local tangent stiffness matrix and residual force vector R = T - F

source: JuliaFEM/src/elasticity_solver.jl:68


eliminate_boundary_conditions(dirichletbc, I, J, V)

Eliminate Dirichlet boundary conditions from matrix

Parameters

dirichletbc : array [dim x nnodes] I, J, V : sparse matrix arrays

Returns

I, J, V : boundary conditions removed

Notes

pros:

  • matrix assembly remains positive definite cons:
  • maybe inefficient because of extra sparse matrix operations. (It's hard to remove stuff from sparse matrix.)
  • if u != 0 in dirichlet boundary requires extra care

Raises

Exception, if displacement boundary conditions given, i.e. DX=2 for some node, for example.

source: JuliaFEM/src/elasticity_solver.jl:218


eliminate_boundary_conditions(dirichletbc, I, V)

Eliminate Dirichlet boundary conditions from vector

Parameters

dirichletbc : array [dim x nnodes] I, V : sparse vector arrays

Returns

I, V : boundary conditions removed

Notes

pros:

  • matrix assembly remains positive definite cons:
  • maybe inefficient because of extra sparse matrix operations. (It's hard to remove stuff from sparse matrix.)
  • if u != 0 in dirichlet boundary requires extra care

Raises

Exception, if displacement boundary conditions given, i.e. DX=2 for some node, for example.

source: JuliaFEM/src/elasticity_solver.jl:257


interpolate{T<:Real}(field::Array{T<:Real, 1}, basis::Function, ip)

Interpolate field variable using basis functions f for point ip. This function tries to be as general as possible and allows interpolating lot of different fields.

Parameters

field :: Array{Number, dim} Field variable basis :: Function Basis functions ip :: Array{Number, 1} Point to interpolate

source: JuliaFEM/src/elasticity_solver.jl:30


solve_elasticity_increment!(X, u, du, elmap, nodalloads, dirichletbc, lambda, mu, N, dNdchi, ipoints, iweights)

Solve one increment of elasticity problem

source: JuliaFEM/src/elasticity_solver.jl:278