示例#1
0
        public GlobalFreeDofOrderingGeneral(int numGlobalFreeDofs, DofTable globalFreeDofs,
                                            Dictionary <ISubdomain, ISubdomainFreeDofOrdering> subdomainDofOrderings)
        {
            this.NumGlobalFreeDofs     = numGlobalFreeDofs;
            this.GlobalFreeDofs        = globalFreeDofs;
            this.SubdomainDofOrderings = subdomainDofOrderings;

            subdomainToGlobalDofMaps = new Dictionary <ISubdomain, int[]>(subdomainDofOrderings.Count);
            foreach (var subdomainOrderingPair in subdomainDofOrderings)
            {
                var subdomainToGlobalDofs = new int[subdomainOrderingPair.Value.NumFreeDofs];
                foreach ((INode node, IDofType dofType, int subdomainDofIdx) in subdomainOrderingPair.Value.FreeDofs)
                {
                    subdomainToGlobalDofs[subdomainDofIdx] = globalFreeDofs[node, dofType];
                }
                subdomainToGlobalDofMaps.Add(subdomainOrderingPair.Key, subdomainToGlobalDofs);
            }
        }
示例#2
0
 public SubdomainFreeDofOrderingGeneral(int numFreeDofs, DofTable subdomainFreeDofs)
 {
     this.NumFreeDofs = numFreeDofs;
     this.FreeDofs    = subdomainFreeDofs;
 }
示例#3
0
 public SubdomainConstrainedDofOrderingGeneral(int numConstrainedDofs, DofTable subdomainConstrainedDofs) :
     base(numConstrainedDofs, subdomainConstrainedDofs)
 {
 }
示例#4
0
 public SubdomainConstrainedDofOrderingBase(int numConstrainedDofs, DofTable subdomainConstrainedDofs)
 {
     this.NumConstrainedDofs = numConstrainedDofs;
     this.ConstrainedDofs    = subdomainConstrainedDofs;
 }