예제 #1
0
파일: smt.py 프로젝트: zchlrnr/pyNastran
def plot_shear_moment_torque(model,
                             gpforce,
                             coord: CORD2R,
                             idir: int = 0,
                             itime: int = 0,
                             nplanes: int = 11,
                             show: bool = True):
    nids, nid_cd, xyz_cid0, icd_transform, eids, element_centroids_cid0 = smt_setup(
        model)
    element_centroids_cid = coord.transform_node_to_local_array(
        element_centroids_cid0)
    x = element_centroids_cid[idir]
    xmin = x.min()
    xmax = x.max()
    dx = xmax - xmin
    assert abs(dx) > 0., f'dx={dx} xmin={xmin} xmax={xmax}'
    stations = np.linspace(0., dx, num=nplanes, endpoint=True)
    force_sum, moment_sum = gpforce.shear_moment_diagram(
        xyz_cid0,
        eids,
        nids,
        icd_transform,
        element_centroids_cid0,
        model.coords,
        nid_cd,
        stations,
        coord,
        idir=idir,
        itime=itime,
        debug=False,
        log=model.log)
    plot_smt(stations, force_sum, moment_sum, show=show)
예제 #2
0
파일: smt.py 프로젝트: zhenhaochu/pyNastran
def plot_shear_moment_torque(model: OP2Geom,
                             gpforce: RealGridPointForcesArray,
                             coord: CORD2R,
                             itime: int=0,
                             nplanes: int=11, show: bool=True):
    nids, nid_cd, xyz_cid0, icd_transform, eids, element_centroids_cid0 = smt_setup(model)
    element_centroids_coord = coord.transform_node_to_local_array(element_centroids_cid0)
    idir = 0
    x = element_centroids_coord[idir]
    xmin = x.min()
    xmax = x.max()
    dx = xmax - xmin
    assert abs(dx) > 0., f'dx={dx} xmin={xmin} xmax={xmax}'
    stations = np.linspace(0., dx, num=nplanes, endpoint=True)
    force_sum, moment_sum, new_coords, nelems, nnodes = gpforce.shear_moment_diagram(
        nids, xyz_cid0, nid_cd, icd_transform,
        eids, element_centroids_cid0, stations,
        model.coords, coord,
        iaxis_march=None,
        itime=itime, debug=False, log=model.log)
    plot_smt(stations, force_sum, moment_sum, nelems, nnodes, show=show)