I find the .log file can give a number of dofs of a model, and the number of total dofs is six times of the number of nodes. Is the node in different type element has a same number of dofs? In my opinion, the node in solid element only have three translation dofs and node in beam element has six dofs(three trans and three rotate).
In Marc volume E help file, it also give a example that each node in solid element. So how do Nastran calculate number of different type elements?
In Nastran a Grid point has 6 DOFs. When constructing the system matrices a solid element will contribute translational stiffness matrix terms between DOFs 1to3 of the grid points it is using. A 2D (shell) or 1D (Beam) will contribute rotational stifness terms as well for some of the rotational DOFs.
So Nastran starts with Grids that have 6DOFs but other codes start with elements that then determine the number of DOFs you have to add to a node in the system matrices. In Nastran you need to remove(constrain to zero) any unused DOFs or the system matrices can not be solved; PARAM,AUTOSPC is typically used to do this, though checking which DOF's are constrained is useful. K6ROT is also used to help with coupling the "drilling" degree of freedomon shell elements.
Note you may want to look at the MSC Nastran Getting Started Guide, you will see that Chapter 5 covers grids and DOFs before it talks about elements in chapter 6.