Peano
Loading...
Searching...
No Matches
Model.py
Go to the documentation of this file.
1# This file is part of the Peano project. For conditions of distribution and
2# use, please see the copyright notice at www.peano-framework.org
3from peano4.datamodel.ModelToDataRepository import ModelToDataRepository
4from peano4.datamodel.DoF import DoFAssociation
5
6
7class Model(object):
8 def __init__(self, namespace, subdirectory=""):
9 self.cell_data = []
10 self.face_data = []
11 self.vertex_data = []
12 self.global_data = []
13 self.namespaces = []
15 self.namespace = namespace
16 if namespace:
17 if not namespace in self.namespaces:
18 self.namespaces.append(namespace)
19 self._subdirectory = subdirectory
22
23 def __str__(self):
24 return (
25 "(#cells="
26 + str(len(self.cell_data))
27 + ",#faces="
28 + str(len(self.face_data))
29 + ",#vertices="
30 + str(len(self.vertex_data))
31 + ",#global-objects="
32 + str(len(self.global_data))
33 + ")"
34 )
35
36 def add_cell(self, submodel):
37 submodel.configure(self.namespace, DoFAssociation.Cell, self.subdirectorysubdirectory)
38 self.cell_data.append(submodel)
39
40 def add_face(self, submodel):
41 submodel.configure(self.namespace, DoFAssociation.Face, self.subdirectorysubdirectory)
42 self.face_data.append(submodel)
43
44 def add_vertex(self, submodel):
45 submodel.configure(self.namespace, DoFAssociation.Vertex, self.subdirectorysubdirectory)
46 self.vertex_data.append(submodel)
47
48 def add_global_object(self, submodel):
49 submodel.configure(self.namespace, DoFAssociation.Global, self.subdirectorysubdirectory)
50 self.global_data.append(submodel)
51
52 def construct_output(self, output):
53 for i in self.cell_data:
54 i.generator.construct_output(output)
55 output.readme.add_entry(i.readme_descriptor)
56 output.readme.add_package_description(i.readme_package_descriptor)
57 for i in self.face_data:
58 i.generator.construct_output(output)
59 output.readme.add_entry(i.readme_descriptor)
60 output.readme.add_package_description(i.readme_package_descriptor)
61 for i in self.vertex_data:
62 i.generator.construct_output(output)
63 output.readme.add_entry(i.readme_descriptor)
64 output.readme.add_package_description(i.readme_package_descriptor)
65 for i in self.global_data:
66 i.generator.construct_output(output)
67 output.readme.add_entry(i.readme_descriptor)
68 output.readme.add_package_description(i.readme_package_descriptor)
69
70 self.generator.construct_output(output)
71
72 def clear(self):
73 self.cell_data = []
74 self.face_data = []
75 self.vertex_data = []
76 self.global_data = []
77
78 @property
79 def subdirectory(self):
80 subdirectory = self._subdirectory
81 if subdirectory:
82 subdirectory += "/"
83 return subdirectory
add_vertex(self, submodel)
Definition Model.py:44
add_global_object(self, submodel)
Definition Model.py:48
__init__(self, namespace, subdirectory="")
Definition Model.py:8
construct_output(self, output)
Definition Model.py:52
add_cell(self, submodel)
Definition Model.py:36
add_face(self, submodel)
Definition Model.py:40