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
Jukka Aho
e839c60904
Preallocate matrices in Elasticity problem
...
Now style is to assemble all same kind/dimension elements at same time
in one function call, so it's possible to allocate all necessary
matrices only one time.
2017-08-18 23:27:26 +03:00
Jukka Aho
90fd63f375
New function group_by_element_type
...
Function groups a list of elements to several lists, where each
list contains elements of particular type.
2017-08-18 20:15:45 +03:00
Jukka Aho
115b621938
Fix deprecation warnings when using Julia 0.6.0
2017-08-18 17:45:52 +03:00
Jukka Aho
bec6642693
Assemble several elements at a time
...
Now assemble! takes a vector of elements as input. This makes it
possible to preallocate memory for common matrices making code super
fast.
2017-08-17 17:49:39 +03:00
Jukka Aho
b1cf7eacb9
Implement new function create_nodal_elements
...
This function can be used to create elements from node set defined
in mesh. Resulting elements are of type Poi1, that is, they don't
have any volume but it's still possible to add boundary conditions
to them which are then enforced in discrete sense.
2017-08-17 15:53:20 +03:00
Jukka Aho
741bb8d057
Fix test
...
Now both JuliaFEM and JuliaFEM.Preprocess export add_elements! and
it must be spesifically pointed out which one is used in test.
2017-08-16 17:20:55 +03:00
Rapo
683c0a03e6
Implement new function add_elements!
...
Add new elements to the problem.
2017-08-16 17:20:55 +03:00
Jukka Aho
8ca459fc3a
Remove functions used rarely
...
A new problem can be defined with 8(!) different styles. Let's remove
the ones not used often.
2017-08-16 16:57:56 +03:00
Jukka Aho
2ffe1589d7
Templating data type of Field
...
Use template in type Field to make type stabile code. This should fix
problems related to type stability.
2017-08-16 00:00:03 +03:00
Jukka Aho
0ec0b8ddef
New test
2017-08-15 15:49:50 +03:00
Jukka Aho
7a827e0a12
Fix return types for fields not defined
...
Problem arises typically when boundary condition is created using
"nodal" elements of type Poi1, but forget to define geometry and
```solvers("geometry", 0.0)``` fails in Xdmf update function. Fixed.
2017-08-15 15:49:50 +03:00
Jukka Aho
938b6245ce
use FEMBasis / BasisInfo structure
...
Calculate basic element info using BasisInfo
2017-08-14 21:20:44 +03:00
Jukka Aho
c422e14bad
add *.mem and *.cov to .gitignore
2017-08-14 20:41:16 +03:00
Jukka Aho
fa52f5f528
Set up entry point for element assembly
...
From here we can preallocate matrices to improve efficiency of code.
2017-08-14 18:26:37 +03:00
Jukka Aho
36a726f662
Change coords field type from Point to Tuple
...
Change to Tuple, Array is allocating memory.
2017-08-14 17:10:02 +03:00
Jukka Aho
d338060143
Separate problems_elasticity.jl
...
Have separate file problems_elasticity_2d.jl for plane stress, plane
strain, axisymmetric etc. problems.
2017-08-13 22:49:05 +03:00
Jukka Aho
541dcff250
Remove obsolete code from heat assembly
...
Postprocess-function is deprecated and not used anywhere.
2017-08-13 22:45:11 +03:00
Jukka Aho
197a6036b6
Remove needless stuff from postprocess_utils.jl
...
Not needed in core code.
2017-08-13 22:28:13 +03:00
Jukka Aho
8c955d2b5f
Add another loop to assembly procedure
...
Yet another loop, but this way we can preallocate matrices when
constructiong local matrices of elements with same dimensions (which is
the case in practice)
2017-08-13 22:16:53 +03:00
Jukka Aho
dc75cfda03
use TimerOutsputs to measure performance
v0.3.2
2017-08-13 14:37:44 +03:00
Jukka Aho
6fcba926d0
add simple usage example
v0.3.1
2017-08-05 15:07:56 +03:00
Jukka Aho
0bf9811101
basic doc + @autodoc functions
2017-08-05 15:07:56 +03:00
Jukka Aho
d42232dae9
Add new method to set properties for problem
...
```
update!(body.properties, "a" => "b", "c" => "d")
```
Usage example is shown in
`test_elasticity_2d_linear_with_surface_load.jl`.
2017-08-05 14:42:13 +03:00
Jukka Aho
5731d590ab
Cleanup of obsolete files
...
A lot of old files from old documentation systems etc. is in package.
These are now removed or moved. Old notebooks are in docs/tutorials.
This PR closes issue #124 .
2017-08-05 12:08:46 +03:00