diff --git a/docs/api/JuliaFEM.abaqus_reader.md b/docs/api/JuliaFEM.abaqus_reader.md new file mode 100644 index 0000000..dd7c3a0 --- /dev/null +++ b/docs/api/JuliaFEM.abaqus_reader.md @@ -0,0 +1,14 @@ +# JuliaFEM.abaqus_reader + +## Internal + +--- + + +#### add_handler(section, function_name) [¶](#method__add_handler.1) +Register new handler for parser + + +*source:* +[JuliaFEM/src/abaqus_reader.jl:18](https://github.com/JuliaFEM/JuliaFEM.jl/tree/b8194d0c137963b44aab6b223a22491f9b0f7774/src/abaqus_reader.jl#L18) + diff --git a/docs/api/JuliaFEM.elasticity_solver.md b/docs/api/JuliaFEM.elasticity_solver.md new file mode 100644 index 0000000..2125f1a --- /dev/null +++ b/docs/api/JuliaFEM.elasticity_solver.md @@ -0,0 +1,154 @@ +# JuliaFEM.elasticity_solver + +## Internal + +--- + + +#### assemble!(fe, eldofs_, I, V) [¶](#method__assemble.1) +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](https://github.com/JuliaFEM/JuliaFEM.jl/tree/b8194d0c137963b44aab6b223a22491f9b0f7774/src/elasticity_solver.jl#L171) + +--- + + +#### assemble!(ke, eldofs_, I, J, V) [¶](#method__assemble.2) +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](https://github.com/JuliaFEM/JuliaFEM.jl/tree/b8194d0c137963b44aab6b223a22491f9b0f7774/src/elasticity_solver.jl#L130) + +--- + + +#### calc_local_matrices!(X, u, R, Kt, N, dNdchi, lambda_, mu_, ipoints, iweights) [¶](#method__calc_local_matrices.1) +Calculate local tangent stiffness matrix and residual force vector R = T - F + + +*source:* +[JuliaFEM/src/elasticity_solver.jl:68](https://github.com/JuliaFEM/JuliaFEM.jl/tree/b8194d0c137963b44aab6b223a22491f9b0f7774/src/elasticity_solver.jl#L68) + +--- + + +#### eliminate_boundary_conditions(dirichletbc, I, J, V) [¶](#method__eliminate_boundary_conditions.1) +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](https://github.com/JuliaFEM/JuliaFEM.jl/tree/b8194d0c137963b44aab6b223a22491f9b0f7774/src/elasticity_solver.jl#L218) + +--- + + +#### eliminate_boundary_conditions(dirichletbc, I, V) [¶](#method__eliminate_boundary_conditions.2) +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](https://github.com/JuliaFEM/JuliaFEM.jl/tree/b8194d0c137963b44aab6b223a22491f9b0f7774/src/elasticity_solver.jl#L257) + +--- + + +#### interpolate{T<:Real}(field::Array{T<:Real, 1}, basis::Function, ip) [¶](#method__interpolate.1) +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](https://github.com/JuliaFEM/JuliaFEM.jl/tree/b8194d0c137963b44aab6b223a22491f9b0f7774/src/elasticity_solver.jl#L30) + +--- + + +#### solve_elasticity_increment!(X, u, du, elmap, nodalloads, dirichletbc, lambda, mu, N, dNdchi, ipoints, iweights) [¶](#method__solve_elasticity_increment.1) +Solve one increment of elasticity problem + + +*source:* +[JuliaFEM/src/elasticity_solver.jl:278](https://github.com/JuliaFEM/JuliaFEM.jl/tree/b8194d0c137963b44aab6b223a22491f9b0f7774/src/elasticity_solver.jl#L278) + diff --git a/docs/api/JuliaFEM.interfaces.md b/docs/api/JuliaFEM.interfaces.md new file mode 100644 index 0000000..7ab90e5 --- /dev/null +++ b/docs/api/JuliaFEM.interfaces.md @@ -0,0 +1,19 @@ +# JuliaFEM.interfaces + +## Exported + +--- + + +#### solve_elasticity_interface!() [¶](#method__solve_elasticity_interface.1) +This is generic interface that reads data from data model, solves elasticity +problem and updates model. + +Parameters +---------- +model : to be defined + + +*source:* +[JuliaFEM/src/interfaces.jl:22](https://github.com/JuliaFEM/JuliaFEM.jl/tree/b8194d0c137963b44aab6b223a22491f9b0f7774/src/interfaces.jl#L22) + diff --git a/docs/api/JuliaFEM.md b/docs/api/JuliaFEM.md new file mode 100644 index 0000000..fb09699 --- /dev/null +++ b/docs/api/JuliaFEM.md @@ -0,0 +1,2 @@ +# JuliaFEM + diff --git a/docs/api/JuliaFEM.xdmf.md b/docs/api/JuliaFEM.xdmf.md new file mode 100644 index 0000000..df1875a --- /dev/null +++ b/docs/api/JuliaFEM.xdmf.md @@ -0,0 +1,2 @@ +# JuliaFEM.xdmf + diff --git a/docs/build_api.jl b/docs/build_api.jl index c1fcf84..c0275ee 100644 --- a/docs/build_api.jl +++ b/docs/build_api.jl @@ -53,7 +53,7 @@ cd(dirname(@__FILE__)) do # Generate and save the contents of docstrings as markdown files. index = Index() for mod in modules - Lexicon.update!(index, save(joinpath(api_directory, "$(mod).rst"), mod)) + Lexicon.update!(index, save(joinpath(api_directory, "$(mod).md"), mod)) end save(joinpath(api_directory, "index.rst"), index) diff --git a/src/xdmf.jl b/src/xdmf.jl index 2b2eef8..a175fb7 100644 --- a/src/xdmf.jl +++ b/src/xdmf.jl @@ -44,7 +44,16 @@ VERSION < v"0.4-" && using Docile # > #define XDMF_3DSMESH 0x1100 # > #define XDMF_3DRECTMESH 0x1101 # > #define XDMF_3DCORECTMESH 0x1102 +""" +Build a new model for outout +Parameters +---------- + +Example +------- + >>> xdmf_new_model() +""" function xdmf_new_model(xdmf_version="2.1") xdoc = XMLDocument() xroot = create_root(xdoc, "Xdmf")