Commit Graph

1045 Commits

Author SHA1 Message Date
Jukka Aho d6df28eeee Update REQUIRE
* Put v0.7 as minimum version requirement for JuliaFEM.
* Remove Formatting from REQUIRE.
* Add Arpack to REQUIRE.
2018-09-06 13:34:26 +03:00
Jukka Aho df700284c5 Update .gitignore
Add test/*.xmf and test/*.h5 to .gitignore, (some tests are generating
results files)
2018-09-06 13:34:26 +03:00
Jukka Aho 5a52978dae Fix tests
* Fix deprecation warnings from tests
* Refactor tests so that ´@testset` is usually called in master file
  `runtests.jl`, not inside test file. Later on we can convert tests
  to examples.
* Syntax of tests now follow more closely syntax used currently in
  JuliaFEM. We have had earlier studies with different kind of syntaxes,
  now we have kind of explicit way to do things.
2018-09-06 13:34:26 +03:00
Jukka Aho 67bad817dc Create test/REQUIRE
* Add Documenter and Literate as test requirements
2018-09-06 13:34:26 +03:00
Jukka Aho d0bcb71f54 Update runtests.jl
* Explicitly call test files instead of for loop
* Call Documenter before and after unit tests
2018-09-06 13:34:26 +03:00
Jukka Aho ca911e5e87 Fix deprecation warnings
* Add docstrings
* Refactor code
* Module level docstring giving an example
2018-09-06 13:34:26 +03:00
Tero Frondelius 1357e7e46d Simple linear static example to be shown in SMP18 (#212)
* Simple linear static example to be shown in SMP18

* Improvements based on Jukka's review

* Fixing spacing after Literature.notebook run

* Adding ## Testing at the end of the example to make sure that something breaks, if the results will change

* Update linear_static.jl

Some little tweaks, mainly making that filter function more understandable.
2018-08-20 14:44:24 +03:00
Tero Frondelius f2907ffdf4 README citing instructions
README citing instructions to our RM article.
2018-08-17 18:33:07 +03:00
Jukka Aho e3035002e0 Enable Travis-CI for Julia 0.7 and nightly (#209) 2018-07-25 14:26:07 +03:00
Jukka Aho 4431b96a96 Remove badly designed test (#208)
Solution not known for tests. Let's create simpler tests with known solutions.
2018-07-25 14:10:05 +03:00
femtocleaner[bot] a8a3e0b46e Fix deprecations (#206) v0.4.2 2018-07-05 11:21:10 +03:00
Jukka Aho 86fdc59f20 Drop Logging.jl (#205)
Julia 0.7 is having improved logging capabilities, we can drop
Logging.jl.
2018-07-04 22:59:32 +03:00
Jukka Aho ce12011380 fix bug of setting sigma in Modal analysis (#204) 2018-07-04 21:51:09 +03:00
Jukka Aho 41e3d366b9 Call Nonlinear analysis using run! (#201)
`analysis(time)` and `solve!(analysis, time)` are going to be deprecated later on.
v0.4.1
2018-06-06 15:36:46 +03:00
Jukka Aho 16534d9e4e 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 07adb1c588 Improve documentation (#199)
Let's use Literate.jl to automatically generate usage examples.

* Automatically generate documentation from other packages (first try to include each package's docs/src/index.md, but if that fails, then use README.md to introduce the package).
* Add example how to calculate local element matrices.
* Add example how to perform 2d contact analysis.
2018-05-30 11:52:01 +03:00
Jukka Aho 417014718d Fix bug in writing two-dimensional problems (#198) 2018-05-25 17:54:36 +03:00
Jukka Aho c914017171 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 931dc16138 Fix bug with sigma value (#197)
Sigma redefined.
2018-05-12 11:55:25 +03:00
Jukka Aho 66a24d382b 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 5ac771480e Use package HeatTransfer.jl for heat problems (#194)
Heat transfer analysis is moved to its own package where the development continues. Two small modifications are needed for test files:

- Instead of `problem.properties.formulation`, we have two separate problems, `PlaneHeat` for two-dimensional problems and `Heat` for three-dimensional problems.
- Unnecessary prefixing of field names is changed. For example, now we simply have only "thermal conductivity" and not prefixed "temperature thermal conductivity".
2018-05-03 15:37:37 +03:00
Jukka Aho f0997d8239 Drop Dataframes (#193)
Looks that package is no more used in the code. Let's drop it.
v0.4.0
2018-05-02 12:45:14 +03:00
Tero Frondelius aa2cdfa8e4 JuliaFEMLogo corner 2018-04-23 15:37:03 +03:00
Jukka Aho ce468e8ed6 Fix bug in eigenvalue solver (#191)
This closes issue #190.
2018-03-18 17:37:17 +07:00
Jukka Aho b950ba312a Replace some rarely used functions (#188)
- `empty!(problem)` -> `empty!(problem.assembly)`
- `get_gdofs(element, ndim)` -> `get_gdofs(problem, element)`
v0.3.7
2018-02-08 14:47:44 +07:00
Jukka Aho d2d860ccf9 Update docs
Let's try this kind of approach where JuliaFEM.jl documentation
is collected from other packages. May work or then not.
2018-02-07 18:47:09 +02:00
Jukka Aho e0a6e431d1 Import get_problems from FEMBase 2018-01-29 23:13:41 +07:00
Jukka Aho 7f427fb52f Add Reexport to REQUIRE 2018-01-29 23:13:41 +07:00
Jukka Aho dce7472cda 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 d7bef419ed use FEMBase v0.1.x (#185)
Lots of stuff moved from JuliaFEM.jl to FEMBase.jl.
v0.3.6
2018-01-19 21:01:33 +07:00
Jukka Aho 35307b12ad Update REQUIRE v0.3.5 2017-12-27 19:43:49 +02:00
Jukka Aho 3e8fb609e6 remove matplotlib dependency
matplotlib cannot be installed during the generation of documentation,
ssl error. Use static images in documentation instead of automatically
generated ones.
v0.3.4
2017-11-13 11:48:17 +02:00
Jukka Aho 24a4e34370 add FEMBase.jl to REQUIRE 2017-11-13 11:48:17 +02:00
Jukka Aho 1693aa30ad Moved core functionality to FEMBase
Core functionality is moved to base package called FEMBase.jl. The
aim is that when developing new elements, solvers, materials and so on,
user only imports FEMBase.jl and uses the functionality there.
JuliaFEM.jl is a sort of "metapackage" collecting together all the
packages and features can be programmed in smaller packages focusing
only on one thing. This structure makes it attractive to contribute
smaller amount of code e.g. in the form of thesis. Moreover, FEMBase.jl
is under 2000 lines of code, which will be very clearly documented thus
everyone can understand the basic concepts behing JuliaFEM easily.
2017-11-13 11:48:17 +02:00
Jukka Aho d7bdb834d1 Update README.md
Add DOI for JuliaFEM v0.3.3.
2017-08-23 16:00:14 +03:00
Marja Rapo 6e467691f0 Fix documentation
Update documentation of several functions to match documentation guide.
v0.3.3
2017-08-23 15:53:01 +03:00
Jukka Aho 2bb66a9568 Special handling of constant metric Tet10
Mass matrix can be analytically solved if Tet10 metric is constant, i.e.
the midnodes are in the midpoint of corner nodes. This should increase
assembling speed of mass matrix.
2017-08-23 15:09:02 +03:00
Jukka Aho c7bab3b227 Update README.md 2017-08-21 18:00:09 +03:00
Jukka Aho 402ad55c8b README.rst -> README.md, we prefer Markdown 2017-08-21 18:00:09 +03:00
Jukka Aho 09f1a21f30 remove CONTRIBUTING.rst, new contributing guide is in juliafem.org 2017-08-21 18:00:09 +03:00
Jukka Aho 3f433b927c Add module Abaqus back to code
Abaqus module is added back to code into `deprecations.jl` to make
code in seminar paper run on 0.3.3.
2017-08-21 10:05:32 +03:00
Jukka Aho bce05b9b37 New test for Tet10 mass matrix 2017-08-20 20:51:00 +03:00
Jukka Aho 25d5907e9c Fix test of zero eigenmodes
A better known example.
2017-08-20 20:51:00 +03:00
Jukka Aho f70209f17e Deprecate assemble!(problem, time, Val{:mass_matrix})
Use function assemble_mass_matrix!(problem, time)
2017-08-20 20:51:00 +03:00
Jukka Aho 5f6cdb8d31 Improve performance of mass matrix assembly
* Avoid unnecessary memory allocations.
* Decrease integration order.
2017-08-20 20:51:00 +03:00
Jukka Aho 2c08efe4bb Increase performance of writing results to Xdmf 2017-08-20 17:03:21 +03:00
Jukka Aho 27f0a37cbc Calculate displacement gradient using FEMBasis 2017-08-20 14:49:42 +03:00
Jukka Aho a08a928796 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 6e036878c8 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 b72db93981 Test group_by_element_type 2017-08-19 00:01:47 +03:00