IOSS 2.0
Loading...
Searching...
No Matches
Iotr_Tensor.h
Go to the documentation of this file.
1// Copyright(C) 1999-2022, 2024 National Technology & Engineering Solutions
2// of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
3// NTESS, the U.S. Government retains certain rights in this software.
4//
5// See packages/seacas/LICENSE for details
6
7#pragma once
8
9#include "Ioss_Transform.h" // for Transform, Factory
11#include "Ioss_VariableType.h" // for VariableType
12#include <stddef.h>
13#include <string> // for string
14
15#include "iotr_export.h"
16
17namespace Ioss {
18 class Field;
19} // namespace Ioss
20
21namespace Iotr {
22
23 class IOTR_EXPORT Tensor_Factory : public Ioss::TransformFactory
24 {
25 public:
26 static const Tensor_Factory *factory();
27
28 private:
30 IOSS_NODISCARD Ioss::Transform *make(const std::string &type) const override;
31 };
32
33 class IOTR_EXPORT Tensor : public Ioss::Transform
34 {
35 friend class Tensor_Factory;
47
48 public:
50 output_storage(const Ioss::VariableType *in) const override;
51 IOSS_NODISCARD size_t output_count(size_t in) const override;
52
53 protected:
54 explicit Tensor(const std::string &type);
55
56 bool internal_execute(const Ioss::Field &field, void *data) override;
57
58 private:
60 };
61} // namespace Iotr
#define IOSS_NODISCARD
Definition Ioss_CodeTypes.h:54
Holds metadata for bulk data associated with a GroupingEntity.
Definition Ioss_Field.h:25
Definition Ioss_TransformFactory.h:24
Definition Ioss_Transform.h:21
A generic variable type.
Definition Ioss_VariableType.h:66
Definition Iotr_Tensor.h:24
Definition Iotr_Tensor.h:34
TranType
Definition Iotr_Tensor.h:36
@ TRACE
Definition Iotr_Tensor.h:38
@ MAGNITUDE
Definition Iotr_Tensor.h:41
@ SPHERICAL
Definition Iotr_Tensor.h:39
@ DEVIATOR
Definition Iotr_Tensor.h:40
@ INVARIANTS
Definition Iotr_Tensor.h:42
@ INVARIANT1
Definition Iotr_Tensor.h:43
@ INVALID
Definition Iotr_Tensor.h:37
@ INVARIANT2
Definition Iotr_Tensor.h:44
TranType type_
Definition Iotr_Tensor.h:59
The main namespace for the Ioss library.
Definition Ioad_DatabaseIO.C:40
A namespace for Ioss transformations.
Definition Iotr_Initializer.C:16