Exemple #1
0
conn = np.array([0], dtype=np.intc)
ptr = np.array([0, 1], dtype=np.intc)
assembler.setElementConnectivity(conn, ptr)
assembler.setElements([spr])
assembler.initialize()

# Time marching setup
tinit = 0.0
tfinal = 1000.0

# Create integrators for implicit time marching of system
sizes = [1250, 2500, 5000, 10000]
for nsteps in sizes:
    # BDF solution
    bdf_orders = [1, 2, 3]
    for order in bdf_orders:
        bdf = TACS.BDFIntegrator(assembler, tinit, tfinal, nsteps, order)
        bdf.setPrintLevel(0)
        bdf.integrate()
        bdf.writeRawSolution(
            'smd-bdf' + str(order) + '-' + str(nsteps) + '.dat', 0)

    # DIRK solution
    dirk_orders = [2, 3, 4]
    for order in dirk_orders:
        dirk = TACS.DIRKIntegrator(assembler, tinit, tfinal, nsteps, order - 1)
        dirk.setPrintLevel(0)
        dirk.integrate()
        dirk.writeRawSolution(
            'smd-dirk' + str(order) + '-' + str(nsteps) + '.dat', 0)
Exemple #2
0
    
    fnum = 0
    for func in funcs:        
        print_details("BDF" + str(bdf_order), func.__class__.__name__, fnum,
                      dh,
                      fvals[fnum],
                      np.real(dfdx[fnum]), np.real(dfdx_fd[fnum]))
        fnum += 1

    
#---------------------------------------------------------------------#
# DIRK Integrator
#---------------------------------------------------------------------#

for order in [2,3,4]:
    dirk = TACS.DIRKIntegrator(tacs, tinit, tfinal, num_steps_per_sec, order)
    dirk.setPrintLevel(0)
    dirk.setJacAssemblyFreq(1)
    dirk.setFunction(funcs)
    dirk.getFuncGrad(num_design_vars, x, fvals, dfdx)
    dirk.getFDFuncGrad(num_design_vars, x, fvals_fd, dfdx_fd, dh)
    fnum = 0
    for func in funcs:        
        print_details("DIRK"+str(order), func.__class__.__name__, fnum,
                      dh,
                      fvals[fnum],
                      np.real(dfdx[fnum]), np.real(dfdx_fd[fnum]))
        fnum += 1

#---------------------------------------------------------------------#
# ABM Integrator