コード例 #1
0
                                     node_map_geo = [0,1,3,2], 
                                     node_map_dof = [0,1,3,2] )

    # Discretization
    domain = MGridDomain( lengths = (1.,1.,0.), 
                          shape = (1,1,0), 
                          adaptor = mgrid_adaptor )
                                         
    right_dof = 2
    tstepper = TS( tse = tseval,
         sdomain = domain,
         # conversion to list (square brackets) is only necessary for slicing of 
         # single dofs, e.g "get_left_dofs()[0,1]"
         bcond_list =  [ BCDof(var='u', dof = i, value = 0.) for i in  domain.get_left_dofs()[:,0]  ] +
                    [ BCDof(var='u', dof = i, value = 0.) for i in [domain.get_left_dofs()[0,1]] ] +    
                    [ BCDof(var='u', dof = i, value = 0.002 ) for i in domain.get_right_dofs()[:,0] ],
         rtrace_list =  [ 
                     RTraceGraph(name = 'Fi,right over u_right (iteration)' ,
                               var_y = 'F_int', idx_y = right_dof,
                               var_x = 'U_k', idx_x = right_dof,
                               record_on = 'update'),
                         RTraceDomainField(name = 'Stress' ,
                         var = 'sig_app', idx = 0,
                         record_on = 'update'),
                     RTraceDomainField(name = 'Displacement' ,
                                    var = 'u', idx = 0,
                                    record_on = 'update',
                                    warp = True),
#                             RTraceDomainField(name = 'N0' ,
#                                          var = 'N_mtx', idx = 0,
#                                          record_on = 'update')
コード例 #2
0
ファイル: ts08_feq9_displ.py プロジェクト: rosoba/simvisage
 # Put the tseval (time-stepper) into the spatial context of the
 # discretization and specify the response tracers to evaluate there.
 #
 right_dof = 2
 ts = TS(
     tse=tseval,
     sdomain=line_domain,
     bcond_list=[
         BCDof(var='u', dof=i, value=0.)
         for i in line_domain.get_left_dofs()[:, 0]
     ] + [
         BCDof(var='u', dof=i, value=0.)
         for i in line_domain.get_left_dofs()[:, 1]
     ] + [
         BCDof(var='u', dof=i, value=20)
         for i in line_domain.get_right_dofs()[:, 1]
     ],
     rtrace_list=[
         RTraceGraph(name='Fi,right over u_right (iteration)',
                     var_y='F_int',
                     idx_y=right_dof,
                     var_x='U_k',
                     idx_x=right_dof,
                     record_on='update'),
         #                      RTraceDomainField(name = 'Flux field' ,
         #                      var = 'eps', idx = 0,
         #                      record_on = 'update'),
         RTraceDomainField(name='Temperature',
                           var='u',
                           idx=0,
                           record_on='update'),
コード例 #3
0
        tseval = DOTSEval(fets_eval=fets_eval)

        # Discretization
        #
        line_domain = MGridDomain(lengths=(3.0, 1.0, 0.0), shape=(8, 8, 0), n_nodal_dofs=2)

        # Put the tseval (time-stepper) into the spatial context of the
        # discretization and specify the response tracers to evaluate there.
        #
        right_dof = 2
        ts = TS(
            tse=tseval,
            sdomain=line_domain,
            bcond_list=[BCDof(var="u", dof=i, value=0.0) for i in line_domain.get_left_dofs()[:, 0]]
            + [BCDof(var="u", dof=i, value=0.0) for i in line_domain.get_left_dofs()[:, 1]]
            + [BCDof(var="u", dof=i, value=20) for i in line_domain.get_right_dofs()[:, 1]],
            rtrace_list=[
                RTraceGraph(
                    name="Fi,right over u_right (iteration)",
                    var_y="F_int",
                    idx_y=right_dof,
                    var_x="U_k",
                    idx_x=right_dof,
                    record_on="update",
                ),
                #                      RTraceDomainField(name = 'Flux field' ,
                #                      var = 'eps', idx = 0,
                #                      record_on = 'update'),
                RTraceDomainField(name="Temperature", var="u", idx=0, record_on="update"),
                #                             RTraceDomainField(name = 'N0' ,
                #                                          var = 'N_mtx', idx = 0,
コード例 #4
0
ファイル: 2d_tension.py プロジェクト: axelvonderheide/scratch
                          shape = (6,3,0), 
                          adaptor = mgrid_adaptor) 

# Put the tseval (time-stepper) into the spatial context of the
# discretization and specify the response tracers to evaluate there.
#

mf = MFnLineArray( ydata = [0.,0.0095,0.0105,0.011,0.012,0.02,0.03] )

ts = TS( tse = tseval,
     sdomain = domain,
         bcond_list =  [ BCDof(var='u', dof = i, value = 0. ) for i in domain.get_left_dofs()[:,0] ]+
                    [ BCDof(var='u', dof = i, value = 0.) for i in [domain.get_bottom_left_dofs()[0,1]] ] +       
                    [ BCDof(var='u', dof = i,
                            time_function = mf.get_value,
                             value = 1. ) for i in domain.get_right_dofs()[:,0] ],
     rtrace_list = [ 
                    RTraceGraph(name = 'Fi,right over u_right (iteration)' ,
                      var_y = 'F_int', idx_y = domain.get_bottom_right_dofs()[0,0],
                      var_x = 'U_k', idx_x = domain.get_bottom_right_dofs()[0,0]),
#                      RTraceDomainField(name = 'Flux field' ,
#                      var = 'eps', idx = 0),
              RTraceDomainField(name = 'Deformation' ,
              var = 'u', idx = 0,
              warp = True),
              RTraceDomainField(name = 'Damage' ,
              var = 'omega', idx = 0,
              position = 'int_pnts',
              warp = True),
#              RTraceDomainField(name = 'Strain' ,
#              var = 'eps_app', idx = 0),