nutofem / nuto

NuTo - yet another finite element library
https://nuto.readthedocs.io
Boost Software License 1.0
17 stars 5 forks source link

Pde unite celldata #199

Closed TTitscher closed 6 years ago

TTitscher commented 6 years ago

Implements the ideas of #197

CellData is removed from CellInterface and passed to CellIpData. This means:

// you can specify which differential operator is used, currently // Nabla::Gradient() --> default // Nabla::Strain() auto strain = cellIpData.Apply(dofDisplacements, Nabla::Strain());


- You can define custom B matrices by implementing [`Nabla::Interface`](https://github.com/nutofem/nuto/blob/PDE_unite_celldata/src/mechanics/cell/DifferentialOperators.h#L11)

As this interface change requires a lot of repetitive adaptions, the PR is quite large. You may want to have a look at early commits separately.
Psirus commented 6 years ago

Code looks fine, but I don't like the name Gradient. Doing e.g. cellIpData.Gradient(magneticField, B::Curl) is weird. So I'd prefer something else. Maybe ApplyOperator or at least Derivative. Also, the namespace might be named Operators, so for example Operators::Curl.