SheafSystem  0.0.0.0
field_atp_funcs.impl.h
1 
2 //
3 // Copyright (c) 2014 Limit Point Systems, Inc.
4 //
5 // Licensed under the Apache License, Version 2.0 (the "License");
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 // http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17 
19 
20 //==============================================================================
21 // NON-MEMBER FUNCTIONS OF ATP FACET
22 //==============================================================================
23 
25 void
27 hook(const field_atp& x0, const field_atp& x1, field_atp& xresult,
28  bool xauto_access)
29 {
30  // Preconditions:
31 
32  require(precondition_of(\
33  hook(x0.property(), x1.property(), xresult.property(), xauto_access)));
34 
35  // Body:
36 
37  fiber_bundle::sec_atp_algebra::hook(x0.property(), x1.property(), xresult.property(), xauto_access);
38 
39  // Postconditions:
40 
41  ensure(postcondition_of(\
42  hook(x0.property(), x1.property(), xresult.property(), xauto_access)));
43 
44  // Exit:
45 
46  return;
47 }
48 
50 void
52 star(const field_atp& x0, field_atp& xresult, bool xauto_access)
53 {
54  // Preconditions:
55 
56  require(precondition_of(\
57  star(x0.property(), xresult.property(), xauto_access)));
58 
59  // Body:
60 
61  fiber_bundle::sec_atp_algebra::star(x0.property(), xresult.property(), xauto_access);
62 
63  // Postconditions:
64 
65  ensure(postcondition_of(\
66  star(x0.property(), xresult.property(), xauto_access)));
67 
68  // Exit:
69 
70  return;
71 }
72 
74 void
76 wedge(const field_atp& x0, const field_atp& x1, field_atp& xresult,
77  bool xauto_access)
78 {
79  // Preconditions:
80 
81  require(precondition_of(\
82  wedge(x0.property(), x1.property(), xresult.property(), xauto_access)));
83 
84  // Body:
85 
86  fiber_bundle::sec_atp_algebra::wedge(x0.property(), x1.property(), xresult.property(), xauto_access);
87 
88  // Postconditions:
89 
90  ensure(postcondition_of(\
91  wedge(x0.property(), x1.property(), xresult.property(), xauto_access)));
92 
93  // Exit:
94 
95  return;
96 }
97 
98 
99 
100 
SHEAF_DLL_SPEC void wedge(const sec_e2 &x0, const sec_e2 &x1, sec_at2_e2 &xresult, bool xauto_access)
The exterior (wedge) product of two antisymmetric tensors (pre-allocated version).
Definition: sec_at2_e2.cc:950
void SHEAF_DLL_SPEC hook(const field_atp &x0, const field_atp &x1, field_atp &xresult, bool xauto_access)
The interior (hook) product of two antisymmetric tensors (pre-allocated version). ...
sec_atp & property() const
The dependent variable of this field.
Definition: field_atp.cc:329
A property of type sec_atp as a function of global coordinates.
Definition: field_atp.h:50
SHEAF_DLL_SPEC void wedge(const e2 &x0, const e2 &x1, at2_e2 &xresult, bool xauto_access)
The exterior (wedge) product of two antisymmetric tensors (pre-allocated version for persistent types...
Definition: at2_e2.cc:1779
SHEAF_DLL_SPEC void hook(const e2 &x0, const e2 &x1, at0 &xresult, bool xauto_access)
The interior (hook) product of two antisymmetric tensors (pre-allocated version for persistent types)...
Definition: at2_e2.cc:1328
SHEAF_DLL_SPEC void star(const sec_at2_e2 &x0, sec_at0 &xresult, bool xauto_access)
The Hodge star operator for antisymmetric tensors (pre-allocated version).
Definition: sec_at2_e2.cc:830
SHEAF_DLL_SPEC void hook(const sec_e2 &x0, const sec_e2 &x1, sec_at0 &xresult, bool xauto_access)
The interior (hook) product of two antisymmetric tensors (pre-allocated version for persistent types)...
Definition: sec_at2_e2.cc:767
void SHEAF_DLL_SPEC wedge(const field_atp &x0, const field_atp &x1, field_atp &xresult, bool xauto_access)
The exterior (wedge) product of two antisymmetric tensors (pre-allocated version).
void SHEAF_DLL_SPEC star(const field_atp &x0, field_atp &xresult, bool xauto_access)
The Hodge star operator for antisymmetric tensors (pre-allocated version).
SHEAF_DLL_SPEC void star(const at2_e2 &x0, at0 &xresult, bool xauto_access)
The Hodge star operator for antisymmetric tensors (pre-allocated version persistent types)...
Definition: at2_e2.cc:1518