public void ProcessInternalRhs(ISubdomain subdomain, IVectorView solution, IVector rhs)
 {
     rhs.AddIntoThis(qs[subdomain.ID].Multiply(solution));
     ScaleSubdomainSolidVector(subdomain, rhs);
 }
 public IVector DiffusionConductivityMatrixVectorProduct(ISubdomain subdomain, IVectorView vector)
 => this.DiffusionConductivity[subdomain.ID].Multiply(vector);
 //TODO: Ok this is weird. These methods should be named Second/First/ZeroOrderCoefficientTimesVector()
 public IVector StabilizingConductivityMatrixVectorProduct(ISubdomain subdomain, IVectorView vector)
 => this.StabilizingConductivity[subdomain.ID].Multiply(vector);
예제 #4
0
 public void ProcessInternalRhs(ISubdomain subdomain, IVectorView solution, IVector rhs)
 {
 }
 public IVector ConductivityMatrixVectorProduct(ISubdomain subdomain, IVectorView vector)
 {
     throw new NotImplementedException();
 }
예제 #6
0
 public int[] MapFreeDofsSubdomainToGlobal(ISubdomain subdomain) => subdomainToGlobalDofMaps[subdomain];
예제 #7
0
 public IVector MassMatrixVectorProduct(ISubdomain subdomain, IVectorView vector)
 => this.Mass[subdomain.ID].Multiply(vector);
 internal LagrangeMultiplier(INode node, IDofType dof, ISubdomain subdomainPlus, ISubdomain subdomainMinus)
 {
     this.Node           = node;
     this.DofType        = dof;
     this.SubdomainPlus  = subdomainPlus;
     this.SubdomainMinus = subdomainMinus;
 }
 public NonLinearSubdomainUpdater(ISubdomain subdomain)
 {
     this.subdomain = subdomain;
 }
예제 #10
0
 public SkylineFeti1SubdomainMatrixManager(ISubdomain subdomain, IReorderingAlgorithm reordering)
 {
     this.linearSystem = new SingleSubdomainSystem <SkylineMatrix>(subdomain);
     this.reordering   = reordering;
 }
예제 #11
0
 public IFeti1SubdomainMatrixManager CreateMatricesManager(ISubdomain subdomain)
 => new SkylineFeti1SubdomainMatrixManager(subdomain, reordering);
예제 #12
0
 public IVector SecondDerivativeZMatrixVectorProduct(ISubdomain subdomain, IVectorView vector)
 => this.SecondDerivativeZMatrix[subdomain.ID].Multiply(vector);
예제 #13
0
 public IMatrix GetSecondSpaceDerivatives(ISubdomain subdomain, IVectorView vector)
 {
     throw new NotImplementedException();
 }
예제 #14
0
        public IMatrixView LinearCombinationOfMatricesIntoStiffness(ImplicitIntegrationCoefficients coefficients, ISubdomain subdomain)
        {
            int id = subdomain.ID;

            return(Capacity[id]);
        }
예제 #15
0
 public double[] CalcBoundaryDofCoefficients(ISubdomain subdomain) => inverseBoundaryDofMultiplicities[subdomain.ID];
 public TotalDisplacementsLog(ISubdomain subdomain, int numWatchedDofs, DofTable watchedDofs)
 {
     this.subdomain     = subdomain;
     this.watchedDofs   = watchedDofs;
     this.displacements = new double[numWatchedDofs];
 }
예제 #17
0
 public void AddVectorSubdomainToGlobalMeanValue(ISubdomain subdomain, IVectorView subdomainVector,
                                                 IVector globalVector) => throw new NotImplementedException();
 public Factory(ISubdomain subdomain) => this.subdomain = subdomain;
예제 #19
0
 public void ProcessRhs(ImplicitIntegrationCoefficients coefficients, ISubdomain subdomain, IVector rhs)
 {
     // Method intentionally left empty.
 }
 public void ReorderDofs(ISubdomain subdomain, ISubdomainFreeDofOrdering originalOrdering)
 => originalOrdering.ReorderNodeMajor(subdomain.Nodes);
예제 #21
0
 public IVector DampingMatrixVectorProduct(ISubdomain subdomain, IVectorView vector)
 => this.Damping[subdomain.ID].Multiply(vector);
예제 #22
0
 public void ReorderInternalDofs(Feti1DofSeparator dofSeparator, ISubdomain subdomain)
 {
     // Do nothing, since the sparsity pattern is irrelevant for dense matrices.
 }
 public void ProcessRhs(ISubdomain subdomain, IVector rhs)
 {
     // Method intentionally left empty.
 }
예제 #24
0
 public DenseFeti1SubdomainMatrixManager(ISubdomain subdomain)
 {
     this.linearSystem = new SingleSubdomainSystem <SkylineMatrix>(subdomain);
 }
 public IVector CapacityMatrixVectorProduct(ISubdomain subdomain, IVectorView vector)
 => this.Capacity[subdomain.ID].Multiply(vector);
예제 #26
0
 public IFeti1SubdomainMatrixManager CreateMatricesManager(ISubdomain subdomain)
 => new DenseFeti1SubdomainMatrixManager(subdomain);
 public IVector MassTransportConductivityMatrixVectorProduct(ISubdomain subdomain, IVectorView vector)
 => this.MassTransportConductivity[subdomain.ID].Multiply(vector);
 public NonLinearSubdomainUpdaterWithInitialConditions(ISubdomain subdomain)
 {
     this.subdomain = subdomain;
 }
 public IVector StabilizingRhs(ISubdomain subdomain)
 => this.StabilizingDomainLoad[subdomain.ID];
         IMatrixView matrixConstrConstr) CalculateSubMatrices(ISubdomain subdomain)
 {
     throw new NotImplementedException();
 }