Commit Graph

38 Commits

Author SHA1 Message Date
Matt Campbell b62ddac26a change in old function name ucfirst to uppercasefirst, which was preventing the beam examples from running 2019-09-25 10:15:05 -07:00
Jukka Aho a5a2c43dd8 Fix deprecation warnings
* Add docstrings
* Refactor code
* Module level docstring giving an example
2018-09-06 13:34:26 +03:00
femtocleaner[bot] 33c8657f56 Fix deprecations (#206) 2018-07-05 11:21:10 +03:00
Jukka Aho 8bfda8c6e0 fix bug of setting sigma in Modal analysis (#204) 2018-07-04 21:51:09 +03:00
Jukka Aho b8ac49c5a8 Use FEMBeam.jl (#200)
Use FEMBeam.jl to solve beam problems. Added an example, where
natural frequencies of frequencies of 3d frame structure are
calculated. Some minor modifications to Modal analysis is done to make
Xdmf writing of 6 dof nodes work.
2018-06-04 21:29:37 +03:00
Jukka Aho e68eec89f9 Move contact mechanics to separate package (#196)
Development of auto-differentiated mortar contact mechanics in 2D is moved to own separate package, MortarContact2DAD. Other changes are similar to what is done with MortarContact2D: elements are added to problems using `add_slave_elements!` and `add_master_elements!` instead of `add_elements!`, to make interface more explicit. Also, problem name is `Contact2DAD`, so the dimension is now explicitly stated in problem name. (Also have `Mortar2DAD`, compare to the `Mortar2D` and `Contact2D` of `MortarContact2D.jl`.)
2018-05-17 09:45:18 +03:00
Jukka Aho 4941a4f005 Fix bug with sigma value (#197)
Sigma redefined.
2018-05-12 11:55:25 +03:00
Jukka Aho 9e28c6d604 Separate 2d contact code to own package (#195)
Moved plane contact related stuff to own separate package
`MortarContact2D.jl`, where the development continues.

The following changes to test files are done:

1) Problem name for plane mortar coupling is `Mortar2D` (was `Mortar`
before), and later on 3d coupling will be `Mortar`. So the dimension
of coupling operator is explicitly given in a problem name.

2) Before elements to coupling was defined using
```julia
update!(problem.elements, "master elements", master_elements)
add_elements!(problem, [slave_elements; master_elements])
```
Now, explicitly give master and slave elements as
```julia
add_slave_elements!(problem, slave_elements)
add_master_elements!(problem, master_elements)
```
Keep on mind that Lagrange multipliers are in slave side.
2018-05-07 15:14:42 +03:00
Jukka Aho 0694ce1b06 Fix bug in eigenvalue solver (#191)
This closes issue #190.
2018-03-18 17:37:17 +07:00
Jukka Aho 5b93c48a3a Make JuliaFEM to use Analysis type from FEMBase
`Analysis` is basically doing same than `Solver` before, but has a
slighly simpler structure and is more general.
2018-01-29 23:13:41 +07:00
Jukka Aho 70dda739f9 use FEMBase v0.1.x (#185)
Lots of stuff moved from JuliaFEM.jl to FEMBase.jl.
2018-01-19 21:01:33 +07:00
Jukka Aho 8f420fbaa5 Increase performance of writing results to Xdmf 2017-08-20 17:03:21 +03:00
Jukka Aho 720d76a4ba Eliminate Dirichlet boundary conditions differently
Slicing is very expensive operation on sparse matrices. Avoid slicing
by calculating matrix product `K_red = C1*K*C1`, where C1 is diagonal
matrix. This should be much cheaper.
2017-08-20 12:13:12 +03:00
Jukka Aho ecaf8cb7fc Use global timer to measure performance
This makes syntax a little bit easier. Also, measure more accurately performance
of modal solver under investigation.
2017-08-19 13:30:01 +03:00
Jukka Aho a24a5945a1 Fix deprecation warnings when using Julia 0.6.0 2017-08-18 17:45:52 +03:00
Jukka Aho a11fafc25b use TimerOutsputs to measure performance 2017-08-13 14:37:44 +03:00
Jukka Aho b3f0531746 Add postprocessing features (#100)
* refactored code for solvers.

* Added elementary tests for least-squares fitting of strain and stress fields

* A more realistic postprocess + Xdmf writing test

* removed debug keyword argument from test

* Rewrite update_xdmf!

New function to update Xdmf file no longer takes Solver object but
xdmf, problem, time and fields to write, for example

julia> update_xdmf!(xdmf, problem, 0.0, ["displacement", "temperature"])

All problems are written separately and put together into one
SpatialCollection, allowing to have more structured Xdmf and making
it easier to write complicated field configurations. Support for Xdmf
API 3.0 added.

* Support for Tensor6 field writing

* moved update_xdmf! to io.jl

* Removed some empty files

* Not use old Postprocessor, obsolete code.

* Not use old XDMF (obsolete code). Fixed test.

* removed some postprocessing to pass test, maybe we should drop abaqus.jl from code as obsolete

* add function get_temporal_collection back, it's used by update_xdmf of modal solver

* postprocess of boundary problems also

* added test for contact pressure. dl+quad test output was written in wrong file, fixed.

* postprocess for contact pressure

* contact pressure postprocess

* with boundary problems always store also the primary unknown field

* Change "reaction force" -> "lambda"

* testing postprocess of reaction force also

* sign convention
2017-03-21 08:36:18 +02:00
Jukka Aho 500fbbcf9f Fixed multiple dispatch issues on io.jl
Related to issue #74, io.jl is no more modifying functionality of
LightXML
2017-01-21 12:32:53 +02:00
Jukka Aho 8354870568 improved docstring 2017-01-06 06:57:49 +02:00
Jukka Aho 1f776f994c possibility to solve positive semi-definite problems. 2016-12-22 10:06:18 +02:00
Jukka Aho 2914d39330 added test for zero eigenvalue model (no dirichlet boundaries defined) 2016-12-12 07:40:18 +02:00
Jukka Aho ed48881c9f call update_xdmf! only if Xdmf object is attached to solver. 2016-12-12 07:28:52 +02:00
Jukka Aho a5409cdb01 refactor modal solver. eigenvalues are stored in squared complex mode internally to solver.properties.eigvals. 2016-12-08 15:27:19 +02:00
Jukka Aho ce59b21036 fixed bug related to writing eigenmodes to Xdmf, where all data items pointed to last eigenmode data 2016-12-08 14:18:59 +02:00
Jukka Aho d25885a502 refactored xdmf write code a bit 2016-11-28 12:20:54 +02:00
Jukka Aho e64ed7f6a3 v0.5 fixes 2016-11-15 22:01:00 +02:00
Jukka Aho 95200a81e1 fixed deprecation warnings for 0.5 2016-11-13 13:24:08 +02:00
Jukka Aho 3da5bc232e gets better all the time 2016-11-05 18:29:35 +02:00
Jukka Aho b7ddc4d4c8 new way to deal with dirichlet and mortar boundaries 2016-10-27 23:25:42 +03:00
Jukka Aho b02041608c write nf analysis results to xdmf 2016-10-17 20:53:20 +03:00
Jukka Aho 2e086c43ab improved eigenvalue solver code 2016-10-13 01:00:08 +03:00
Jukka Aho c04591a885 do not use P when no dirichlet boundaries, nothing to eliminate 2016-10-12 01:05:54 +03:00
Jukka Aho 67ace8acdc lot of new tests, echangement of modal solver, eigenvalue analysis with mesh tie 2016-07-27 18:12:24 +03:00
Jukka Aho 1bd1ec9fa9 postprocessing utility 2016-07-14 12:43:41 +03:00
Jukka Aho fb510e29df analytical tests, hollow sphere and radial displacement + longitudinal vibration of rod (modal analysis) 2016-07-10 23:35:17 +03:00
Jukka Aho 4c45618330 fixed a lot of deprectionwarning issues with 0.5 2016-07-04 03:29:24 +03:00
Jukka Aho 757ba2b3d9 all tests pass now 2016-07-03 21:16:03 +03:00
Jukka Aho eec6db657d renamed files to have some sort of structure 2016-07-03 05:19:37 +03:00