import numpy as np
import laminate_analysis
import materials
import cantilevers
import matplotlib.pyplot as plt
from scipy.interpolate import InterpolatedUnivariateSpline
from gaussian import Gaussian
from laminate_fem import LaminateFEM
from connectivity import Connectivity
import scipy.sparse as sparse
"""
"""

material = materials.PiezoMumpsMaterial()
cantilever = cantilevers.InitialCantileverFixedTip()
la = laminate_analysis.LaminateAnalysis(cantilever, material, True)
fem = LaminateFEM(cantilever, material, True, 0.01)
connectivity = Connectivity(fem.mesh)
gaussian = Gaussian(fem, fem.cantilever, 0.1)

index = 100  # the index of the pseudo-density to vary.
ps = np.arange(0.02, 1, 0.01)
g3sums = np.empty_like(ps)
netas = np.empty_like(ps)
dg3sums = np.empty_like(ps)
dnetas = np.empty_like(ps)

print('Number of points: %d' % len(ps))
pnew = la.fem.density.copy()
mdofmat = la.mdofmat
tdofmat = la.tdofmat
示例#2
0
import numpy as np
import laminate_analysis
import materials
import cantilevers
from symmetry import Symmetry
from density_filter import DensityFilter
import matplotlib.pyplot as plt
from scipy.interpolate import InterpolatedUnivariateSpline
"""The symmetry operator appears to be working."""

material = materials.PiezoMumpsMaterial()
cantilever = cantilevers.InitialCantileverFixedTip()
la = laminate_analysis.LaminateAnalysis(cantilever, material, 0.1, False)
sym = Symmetry(la.fem)
density_filter = DensityFilter(la.fem, 2.0)

index = 470  # the index of the design variables to vary.
xs = np.arange(0.02, 1, 0.01)
netas = np.empty_like(xs)
ks = np.empty_like(xs)
lams = np.empty_like(xs)
dnetas = np.empty_like(xs)
dks = np.empty_like(xs)
dfs = np.empty_like(xs)

print('Number of points: %d' % len(xs))

for i, p in enumerate(xs):

    xnew = sym.initial(la.fem.density.copy())
    xnew[index] = p