function Tensor = Init_Tensor(L_Mesh,R_Mesh,Mesh_3,L_Base,R_Base,Base_3,L_Diff,R_Diff,Diff_3,Discrete_Form,coord3,Aux_FEM)

%% Initialize the information for the matrix or right hand side term
% INPUT: L_Mesh: the mesh position in the meshs for the left side of the
%        discrete form.
%        R_Mesh: the mesh position in the meshs for the right side of the
%        discrete form
%        L_Base: the base for the anasatz space (in the left side of the discrete form)
%        R_Base: the base for the test space (in the right side of the discrete form)
%        L_Diff: the differential information for the anasatz space
%        R_Diff: the differential information for the test space
%        Discrete_Form: the discrete form for the matrix
%       coord3,coord4: the quadrature information
%       Aux_FEM: the auxiliarly fem function for the nonlinear term. It can
%       be a structure (only one fem space) or a cell (multi fem spaces)
% OUTPUT: Matrx: the information for the matrix or right hand side term
% Hehu Xie: 2017-08-24

Tensor = struct('L_Mesh',L_Mesh,'R_Mesh',R_Mesh,'Mesh_3',Mesh_3,'L_Base',L_Base,'R_Base',R_Base,'Base_3',Base_3,...
                'L_Diff',L_Diff,'R_Diff',R_Diff,'Diff_3',Diff_3,'Discrete_Form',Discrete_Form,'Coord3',coord3);
Tensor.Aux_FEM = [];
if nargin >= 13
    if isstruct(Aux_FEM)
        Tensor.Aux_FEM = Aux_FEM;
    end
end