added missing definition of tranformFieldMask for diagTensor - my Mac g++ did not mind. Also add detail to solidMechanics/readMe.txt
This commit is contained in:
parent
87cb5a32fa
commit
b3be3f8024
3 changed files with 150 additions and 0 deletions
|
@ -84,3 +84,7 @@ structural applications, PhD thesis, Imperial College London, 2000.
|
|||
|
||||
Cardiff P, Development of the finite volume method for hip joint stress
|
||||
analysis, PhD thesis, University College Dublin, 2012.
|
||||
|
||||
Tang T, Hededal O, Cardif P, Roenby J, A Finite Volume Method solver for
|
||||
non-linear soil stress analysis using OpenFOAM, 8th OpenFOAM Workshop,
|
||||
Jeju, 2013.
|
||||
|
|
|
@ -28,6 +28,7 @@ Description
|
|||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "diagTensorField.H"
|
||||
#include "transformField.H"
|
||||
|
||||
#define TEMPLATE
|
||||
#include "FieldFunctionsM.C"
|
||||
|
@ -56,6 +57,61 @@ BINARY_OPERATOR(vector, vector, diagTensor, /, divide)
|
|||
BINARY_TYPE_OPERATOR(vector, vector, diagTensor, /, divide)
|
||||
|
||||
|
||||
template<>
|
||||
tmp<Field<diagTensor> > transformFieldMask<diagTensor>
|
||||
(
|
||||
const tensorField& tf
|
||||
)
|
||||
{
|
||||
tmp<Field<diagTensor> > ret(new Field<diagTensor>(tf.size()));
|
||||
|
||||
ret().component(diagTensor::XX) = tf.component(tensor::XX);
|
||||
ret().component(diagTensor::YY) = tf.component(tensor::YY);
|
||||
ret().component(diagTensor::ZZ) = tf.component(tensor::ZZ);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
template<>
|
||||
tmp<Field<diagTensor> > transformFieldMask<diagTensor>
|
||||
(
|
||||
const tmp<tensorField>& ttf
|
||||
)
|
||||
{
|
||||
tmp<Field<diagTensor> > ret =
|
||||
transformFieldMask<diagTensor>(ttf());
|
||||
ttf.clear();
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
template<>
|
||||
tmp<Field<diagTensor> > transformFieldMask<diagTensor>
|
||||
(
|
||||
const symmTensorField& stf
|
||||
)
|
||||
{
|
||||
tmp<Field<diagTensor> > ret(new Field<diagTensor>(stf.size()));
|
||||
|
||||
ret().component(diagTensor::XX) = stf.component(symmTensor::XX);
|
||||
ret().component(diagTensor::YY) = stf.component(symmTensor::YY);
|
||||
ret().component(diagTensor::ZZ) = stf.component(symmTensor::ZZ);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
template<>
|
||||
tmp<Field<diagTensor> > transformFieldMask<diagTensor>
|
||||
(
|
||||
const tmp<symmTensorField>& tstf
|
||||
)
|
||||
{
|
||||
tmp<Field<diagTensor> > ret =
|
||||
transformFieldMask<diagTensor>(tstf());
|
||||
tstf.clear();
|
||||
return ret;
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
|
|
90
tutorials/solidMechanics/readMe.txt
Normal file
90
tutorials/solidMechanics/readMe.txt
Normal file
|
@ -0,0 +1,90 @@
|
|||
Solid Mechanics
|
||||
Finite Volume Solvers
|
||||
|
||||
The included solid mechanics solvers employ the finite volume method
|
||||
(not finite elements/elephants) to numerically approximate the
|
||||
displacements and stresses in solid bodies undergoing deformation.
|
||||
|
||||
The included solvers feature the following capabilities:
|
||||
small strain
|
||||
small strain with large rotations
|
||||
large strain
|
||||
Mises-Levy J2 plasticity
|
||||
thermal-elasticity
|
||||
visco-elasticity
|
||||
gravity body forces
|
||||
fluid-structure interactions
|
||||
multi-material analyses
|
||||
contact stress analysis with friction
|
||||
small strain orthotropic elasticity
|
||||
large strain orthotropic elasticity
|
||||
cohesive zones
|
||||
predefined crack path
|
||||
arbitrary crack propagation
|
||||
custom boundary conditions
|
||||
Aitken's under-relaation for displacement field
|
||||
|
||||
A number of people have contributed to the development of the solvers,
|
||||
mainly within Alojz Ivankovic's research group. The code has been
|
||||
assembled and is maintained by Philip Cardiff (University College Dublin),
|
||||
and significant contributions have been made by Aleksandar Karac, Zeljko
|
||||
Tukovic, Hrvoje Jasak, Declan Carolan, Michael Leonard, Valentine
|
||||
Kanyanta, David McAuliffe, Declan McNamara and Tian Tang.
|
||||
|
||||
Have fun.
|
||||
|
||||
Philip
|
||||
|
||||
|
||||
|
||||
The folowing references are relevant and citations are welcome:
|
||||
|
||||
Cardiff P, Karać A & Ivanković A, A Large Strain Finite Volume Method for
|
||||
Orthotropic Bodies with General Material Orientations, Computer Methods
|
||||
in Applied Mechanics & Engineering, 2013,
|
||||
http://dx.doi.org/10.1016/j.cma.2013.09.008.
|
||||
|
||||
Cardiff P, Karać A & Ivanković A, Development of a finite volume contact
|
||||
solver based on the penalty method. Computational Materials Science, 64
|
||||
283-284, 2012, http://dx.doi.org/10.1016/j.commatsci.2012.03.011.
|
||||
|
||||
Cardiff P, Karać A, Tuković Z & Ivanković A, Development of a finite volume
|
||||
based structural solver for large rotation of non-orthogonal meshes, 7th
|
||||
OpenFOAM Workshop, Darmstadt, Germany, 2012.
|
||||
|
||||
Tuković Z, Ivanković A & Karać A, Finite volume stress analysis in multi-
|
||||
material linear elastic body. International Journal for Numerical Methods
|
||||
in Engineering, 2012. doi:10.1002/nme.
|
||||
|
||||
Carolan D, Tuković Z, Murphy N, Ivanković A, Arbitrary crack propagation
|
||||
in multi-phase materials using the finite volume method, Computational
|
||||
Materials Science, 2013, http://dx.doi.org/10.1016/j.commatsci.2012.11.049.
|
||||
|
||||
Tuković Z & Jasak H, Updated lagrangian finite volume solver for large
|
||||
deformation dynamic response of elastic body. Transactions of FAMENA,
|
||||
1(31):1–16, 2007.
|
||||
|
||||
Jasak H & Tuković Z, Dynamic mesh handling in OpenFOAM applied to fluid-
|
||||
structure interaction simulations, 5th European Conference on Computational
|
||||
Fluid Dynamics ECCOMAS CFD, Lisbon, Portugal, 2010.
|
||||
|
||||
Tuković Z & Jasak H, Finite volume method for fluid-strucutre-interaction
|
||||
with large structural displacements, 2nd OpenFOAM Workshop, Zagreb, 2007.
|
||||
|
||||
Jasak H & Weller H, Finite volume methodology for contact problems of linear
|
||||
elastic solids, 3rd International Conference of Croatian Society of Mechanics,
|
||||
pages 253–260, Cavtat/Dubrovnik, Crotatia, 2000.
|
||||
|
||||
Jasak H & Weller H, Application of the finite volume method and unstructured
|
||||
meshes to linear elasticity, International Journal for Numerical Methods in
|
||||
Engineering, pages 267–287, 2000.
|
||||
|
||||
Maneeratana K, Development of the finite volume method for non-linear
|
||||
structural applications, PhD thesis, Imperial College London, 2000.
|
||||
|
||||
Cardiff P, Development of the finite volume method for hip joint stress
|
||||
analysis, PhD thesis, University College Dublin, 2012.
|
||||
|
||||
Tang T, Hededal O, Cardif P, Roenby J, A Finite Volume Method solver for
|
||||
non-linear soil stress analysis using OpenFOAM, 8th OpenFOAM Workshop,
|
||||
Jeju, 2013.
|
Reference in a new issue