Add IProductWRTBase operator and standard matrix implementation
In this merge request, the IProductWRTBase
operator is developed and the standard matrix implementation is also added.
The IProductWRTBase.hpp
, IProductWRTBase.cpp
, IProductWRTBaseImpl.cpp
and IProductWRTBaseStdMat.hpp
files were added for this operator. This implementation was based on the BwdTrans
operator code. In the IProductWRTBaseStdMat.hpp
, note that the jacobian is initialised in the constructor of the OperatorIProductWRTBaseImpl
class for deformed and undeformed elements. Also, in the main.cpp
file, input and output Field objects are created for the IProdWRTBase
, and the code applies the operator for a mesh.
The InitFields
class (init_fields.hpp
) was generalised to be able to deal with all types of operators and mesh files. Thus, the InitFields
class was templated with two parameters. The parameters are FieldStates
to create the input and output Field objects for the operators. The mesh name is obtained through a virtual function which returns the chosen mesh name. In addition, a boost test case (test_ipwrtbase.cpp
) was added to test the IProductWRTBase
operator using the standard matrix implementation for a one-dimensional problem.
Two new meshes were also added to the project. The first one is a one-dimensional mesh which is used for the boost test case. The second is a two-dimensional mesh with deformed elements. This mesh was created to check if the jacobian was correctly implemented.
Merge request reports
Activity
requested review from @ccantwel
added 1 commit
- 821389b8 - Move jacobian calculations to the constructor
added 11 commits
-
821389b8...eb03cdc8 - 6 commits from branch
master
- 43360f5d - Started implementation of the IProductWRTBase operator
- a810a7eb - Implement IProductWRTBaseStdMat
- 073585b9 - Clean up
- b998f3bd - Update main file to create and apply IProductWRTBase
- f4205848 - Move jacobian calculations to the constructor
Toggle commit list-
821389b8...eb03cdc8 - 6 commits from branch
added 1 commit
- 46670aaa - One-dimensional test case for the IProductWRTBase
added 2 commits
added 1 commit
- 04f6dd8c - Generalize interface for InitFields class and test cases
- Resolved by Jacques Xing
- Resolved by Chris Cantwell
- Resolved by Chris Cantwell
- Resolved by Jacques Xing
added 1 commit
- 9c7c6623 - Generalise test fixture to support different types and files.
added 11 commits
-
64e729f3...cecde131 - 9 commits from branch
master
- 4fc5e88a - Update jacobian for deformed elements
- 725e0b65 - Merge remote-tracking branch 'origin/master' into feature/IProdWRTBasePhysDerv
-
64e729f3...cecde131 - 9 commits from branch
added 1 commit
- 9702fc89 - Fix deformed/non-deformed blocks division bug
@ccantwel This is ready to be merged. Tests have been included.
mentioned in commit 142c6bd4