public Model(Material material, Shape shape) {
            Material = material;
            Shape = shape;
            BoundaryConditions = new Dictionary<Edge, BoundaryCondition>();
            foreach(Edge edge in Shape.Edges)
            {
                BoundaryConditions.Add(edge, new BoundaryCondition(BoundaryConditionsType.Kinematic, new Vector(3)));
            }

            PointConditions = new Dictionary<Point, BoundaryCondition>();
            foreach (Point point in Shape.Points)
            {
                PointConditions.Add(point, new BoundaryCondition(BoundaryConditionsType.Kinematic, new Vector(3)));
            }
        }
 public void Copy(Material material) 
 {
     this.SetHomogeniusValues(material.E[0], material.v[0,0], material.Rho);
 }
 public static Material CreateHomogeniousMaterial(double E, double v, double rho = 0)
 {
     Material material = new Material();
     material.SetHomogeniusValues(E, v, rho);
     return material;
 }