Mentions légales du service

Skip to content
Snippets Groups Projects
Commit d3011ffb authored by ALI Olivier's avatar ALI Olivier :monkey_face:
Browse files

Fixed the labelling of cells in the FaceCellularDomain class.

parent f0fdbf6d
No related branches found
No related tags found
No related merge requests found
...@@ -81,21 +81,18 @@ class FaceCellularDomain(AbstractDomain, OccModel): ...@@ -81,21 +81,18 @@ class FaceCellularDomain(AbstractDomain, OccModel):
for ind_p, p in enumerate(c)]), ind_c) for ind_p, p in enumerate(c)]), ind_c)
for ind_c, c in enumerate(cells)] for ind_c, c in enumerate(cells)]
# for ind_c, c in enumerate(cells):
# size = len(c)
# lines = [self.factory.addLine(self.points[c[ind_p]], self.points[c[(ind_p+1)%size]]) for ind_p, p in enumerate(c)]
# s = self.factory.addCurveLoop(lines)
# self.factory.addSurfaceFilling([s], ind_c)
self.factory.removeAllDuplicates() self.factory.removeAllDuplicates()
self.synchronize() self.synchronize()
if markers is None: if markers is None:
[self.model.addPhysicalGroup(2, [ind], ind) for ind in range(len(cells))] [self.model.addPhysicalGroup(2, [ind], ind)
for ind in range(len(cells))]
else: else:
[self.model.addPhysicalGroup(2, [ind], marker) for ind, marker in enumerate(markers)] [self.model.addPhysicalGroup(2, [ind for ind, marker
in enumerate(markers)
if marker == val], val)
for val in list(set(markers))]
if __name__ == "__main__": if __name__ == "__main__":
......
...@@ -36,7 +36,6 @@ class ElasticForm(AbstractVform): ...@@ -36,7 +36,6 @@ class ElasticForm(AbstractVform):
self.traction_force = None # useful if Neumann condition are inforced self.traction_force = None # useful if Neumann condition are inforced
if isinstance(source, (int, float)): if isinstance(source, (int, float)):
# self._source_term = fe.as_vector([0, 0, source])
self._source_term = fe.Constant([0, 0, source]) self._source_term = fe.Constant([0, 0, source])
else: else:
self._source_term = source self._source_term = source
......
...@@ -78,25 +78,24 @@ def _surface_plot_function(function, colorscale): ...@@ -78,25 +78,24 @@ def _surface_plot_function(function, colorscale):
return surface return surface
def _surface_plot_mesh(mesh, color, opacity=0.9): def _surface_plot_mesh(mesh, color, opacity=0.9):
coord = mesh.coordinates() coord = mesh.coordinates()
triangle = mesh.cells().T triangle = mesh.cells().T
if len(coord[0,:])==2: if len(coord[0, :]) == 2:
coord = np.c_[coord, np.zeros(len(coord[:,0]))] coord = np.c_[coord, np.zeros(len(coord[:, 0]))]
surface = go.Mesh3d( surface = go.Mesh3d(x=coord[:, 0],
x=coord[:,0], y=coord[:, 1],
y=coord[:,1], z=coord[:, 2],
z=coord[:,2], i=triangle[0, :],
i=triangle[0, :], j=triangle[1, :],
j=triangle[1, :], k=triangle[2, :],
k=triangle[2, :], flatshading=True,
flatshading=True, color=color,
color=color, opacity=opacity,
opacity=opacity, lighting=dict(ambient=1))
lighting=dict(ambient=1)
)
return surface return surface
...@@ -179,16 +178,18 @@ def plot(obj, colorscale="inferno", wireframe=True, size=10, norm=False, ...@@ -179,16 +178,18 @@ def plot(obj, colorscale="inferno", wireframe=True, size=10, norm=False,
if obj.ufl_shape == (): if obj.ufl_shape == ():
surface = _surface_plot_function(obj, colorscale=colorscale) surface = _surface_plot_function(obj, colorscale=colorscale)
data.append(surface) data.append(surface)
elif obj.ufl_shape == (3,): elif obj.ufl_shape == (3, ):
if norm: if norm:
V = obj.function_space().split()[0].collapse() V = obj.function_space().split()[0].collapse()
norm = fe.project(fe.sqrt(fe.inner(obj,obj)), V) norm = fe.project(fe.sqrt(fe.inner(obj, obj)), V)
surface = _surface_plot_function(norm, colorscale=colorscale) surface = _surface_plot_function(norm, colorscale=colorscale)
data.append(surface) data.append(surface)
func = FenicsFunctionConverter(obj) func = FenicsFunctionConverter(obj)
point_val = np.array([[i['position'], i['value']] for i in func.to_vertex_values().values()]) point_val = np.array([[i['position'],
cones = _cone_plot(point_val[:,0], point_val[:,1], size=size) i['value']]
for i in func.to_vertex_values().values()])
cones = _cone_plot(point_val[:, 0], point_val[:, 1], size=size)
data.append(cones) data.append(cones)
if wireframe: if wireframe:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment