SheafSystem
0.0.0.0
body_factory.h
Go to the documentation of this file.
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
20
21
#ifndef BODY_FACTORY_H
22
#define BODY_FACTORY_H
23
24
#ifndef SHEAF_DLL_SPEC_H
25
#include "SheafSystem/sheaf_dll_spec.h"
26
#endif
27
28
#ifndef FIELDS_H
29
#include "SheafSystem/fields.h"
30
#endif
31
32
#ifndef STD_STRING_H
33
#include "SheafSystem/std_string.h"
34
#endif
35
36
namespace
sheaf
37
{
38
template
<
class
T>
39
class
block;
40
}
41
42
namespace
fiber_bundle
43
{
44
class
fiber_bundles_namespace;
45
}
46
47
namespace
fields
48
{
49
50
using namespace
sheaf
;
51
using namespace
fiber_bundle
;
52
53
class
field_vd;
54
58
class
SHEAF_DLL_SPEC
body_factory
59
{
60
61
// ===========================================================
63
// ===========================================================
65
66
public
:
67
71
static
field_vd
* new_1d_unstructured_bodies(
fiber_bundles_namespace
& xns,
72
const
std::string& xname_prefix);
73
77
static
field_vd
* new_1d_uniform_bodies(
fiber_bundles_namespace
& xns,
78
const
std::string& xname_prefix);
79
83
static
field_vd
* new_2d_unstructured_bodies(
fiber_bundles_namespace
& xns,
84
const
std::string& xname_prefix);
85
89
static
field_vd
* new_2d_uniform_bodies(
fiber_bundles_namespace
& xns,
90
const
std::string& xname_prefix);
91
95
static
field_vd
* new_3d_unstructured_bodies(
fiber_bundles_namespace
& xns,
96
const
std::string& xname_prefix);
97
101
static
field_vd
* new_3d_uniform_bodies(
fiber_bundles_namespace
& xns,
102
const
std::string& xname_prefix);
103
104
private
:
105
110
static
void
one_body(
block<sec_vd_value_type>
& xglobal_coords,
111
block<sec_vd_dof_type>
& xproperty_value);
112
113
118
static
void
two_bodies(
block<sec_vd_value_type>
& xglobal_coords,
119
block<sec_vd_dof_type>
& xproperty_value);
120
121
125
static
void
build_circular_body(
field_vd
& xfield);
126
130
static
void
build_square_bodies(
field_vd
& xfield);
131
132
136
static
void
build_bodies(
field_vd
& xfield);
137
139
140
};
141
142
// ===========================================================
143
// NON-MEMBER FUNCTIONS
144
// ===========================================================
145
146
}
// namespace fields
147
148
#endif // ifndef BODY_FACTORY_H
fields::body_factory
Test case generator for classes body_builder and body_pusher.
Definition:
body_factory.h:58
fields
Namespace for fields component of sheaf system.
Definition:
discretization_push_action.h:32
fiber_bundle::fiber_bundles_namespace
The standard fiber bundles name space; extends the standard sheaves namespace by defining base space...
Definition:
fiber_bundles_namespace.h:53
fields::field_vd
A vd-valued property as a function of global coordinates.
Definition:
field_vd.h:69
sheaf
Namespace for the sheaves component of the sheaf system.
Definition:
singly_linked_list.h:37
sheaf::block< sec_vd_value_type >
fiber_bundle
Namespace for the fiber_bundles component of the sheaf system.
Definition:
base_space_crg_interval.h:36
fields
pushers
body_factory.h
Generated on Sun Jul 9 2017 14:26:56 for SheafSystem by
1.8.13