www.mooseframework.org
SymmTensor.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #include "SymmTensor.h"
11 
12 std::ostream &
13 operator<<(std::ostream & stream, const SymmTensor & obj)
14 {
15  stream << "SymmTensor:\n"
16  << std::setprecision(6) << std::setw(13) << obj._xx << "\t" << std::setw(13) << obj._xy
17  << "\t" << std::setw(13) << obj._zx << "\n"
18  << "\t\t" << std::setw(13) << obj._yy << "\t" << std::setw(13) << obj._yz << "\n"
19  << "\t\t\t\t" << std::setw(13) << obj._zz << std::endl;
20  return stream;
21 }
22 
23 template <>
24 PropertyValue *
25 MaterialProperty<SymmTensor>::init(int size)
26 {
27  MaterialProperty<SymmTensor> * copy = new MaterialProperty<SymmTensor>;
28  copy->_value.resize(size);
29  for (unsigned int i(0); i < static_cast<unsigned>(size); ++i)
30  (*copy)[i].zero();
31  return copy;
32 }
33 
34 template <>
35 void
36 dataStore(std::ostream & stream, const SymmTensor & v, void * /*context*/)
37 {
38  Real r;
39  r = v.xx();
40  stream.write((const char *)&r, sizeof(r));
41  r = v.yy();
42  stream.write((const char *)&r, sizeof(r));
43  r = v.zz();
44  stream.write((const char *)&r, sizeof(r));
45  r = v.xy();
46  stream.write((const char *)&r, sizeof(r));
47  r = v.yz();
48  stream.write((const char *)&r, sizeof(r));
49  r = v.zx();
50  stream.write((const char *)&r, sizeof(r));
51 }
52 
53 template <>
54 void
55 dataLoad(std::istream & stream, SymmTensor & v, void * /*context*/)
56 {
57  Real r = 0.;
58  stream.read((char *)&r, sizeof(r));
59  v.xx(r);
60  stream.read((char *)&r, sizeof(r));
61  v.yy(r);
62  stream.read((char *)&r, sizeof(r));
63  v.zz(r);
64  stream.read((char *)&r, sizeof(r));
65  v.xy(r);
66  stream.read((char *)&r, sizeof(r));
67  v.yz(r);
68  stream.read((char *)&r, sizeof(r));
69  v.zx(r);
70 }
SymmTensor::xx
Real xx() const
Definition: SymmTensor.h:131
SymmTensor.h
SymmTensor::zx
Real zx() const
Definition: SymmTensor.h:136
SymmTensor::_zz
Real _zz
Definition: SymmTensor.h:467
SymmTensor::_zx
Real _zx
Definition: SymmTensor.h:470
SymmTensor::zz
Real zz() const
Definition: SymmTensor.h:133
SymmTensor::_yz
Real _yz
Definition: SymmTensor.h:469
SymmTensor::_xy
Real _xy
Definition: SymmTensor.h:468
SymmTensor::xy
Real xy() const
Definition: SymmTensor.h:134
SymmTensor::_xx
Real _xx
Definition: SymmTensor.h:465
SymmTensor::yz
Real yz() const
Definition: SymmTensor.h:135
operator<<
std::ostream & operator<<(std::ostream &stream, const SymmTensor &obj)
Definition: SymmTensor.C:13
SymmTensor
Definition: SymmTensor.h:21
dataStore
void dataStore(std::ostream &stream, const SymmTensor &v, void *)
Definition: SymmTensor.C:36
SymmTensor::_yy
Real _yy
Definition: SymmTensor.h:466
SymmTensor::yy
Real yy() const
Definition: SymmTensor.h:132
dataLoad
void dataLoad(std::istream &stream, SymmTensor &v, void *)
Definition: SymmTensor.C:55