public ParticleLevelSet(VectorField <SinglePhaseField> Velocity_New, VectorField <SinglePhaseField> Velocity_Old, SinglePhaseField Interface, LevelSetTracker InterfaceTrck, VectorField <SinglePhaseField> LevelSetGradient, int TargetNbrParticlesPerCell, int UpperLimitParticlesPerCell, int LowerLimitParticlesPerCell, double Band_max, double Band_min, double Radius_max, double Radius_min, int max_AddandAttract_Iteration, int NarrowBandWidth, IGridData Grid, bool LevelSetCorrectionWithNeighbourCells, int ReseedingInterval, MinimalDistanceSearchMode LevelSetCorrection, TopologyMergingMode TopologyMerging, NormalVectorDampingMode NormalVectorDamping) : base(Velocity_New, Velocity_Old, Interface, InterfaceTrck, LevelSetGradient, NarrowBandWidth, Grid, ReseedingInterval, LevelSetCorrection, TopologyMerging, NormalVectorDamping, TargetNbrParticlesPerCell, UpperLimitParticlesPerCell, LowerLimitParticlesPerCell) { if (TargetNbrParticlesPerCell <= 0) { throw new Exception("Target number of particles per cell must not be lower than 1."); } if (TargetNbrParticlesPerCell > UpperLimitParticlesPerCell) { throw new Exception("The upper limit of particles per cell must be equal or higher than the target number of particles per cell."); } if (TargetNbrParticlesPerCell < LowerLimitParticlesPerCell) { throw new Exception("The lower limit of particles per cell must be equal or lower than the target number of particles per cell."); } this.Band_max = Band_max; this.Band_min = Band_min; this.Radius_max = Radius_max; this.Radius_min = Radius_min; this.max_AddandAttract_Iteration = max_AddandAttract_Iteration; CorrectionCells = InterfaceTracker.Regions.GetNearFieldMask(1); ReseedingWdith = NarrowBandWidth; Reinitialization = new FastMarchReinit(Interface.Basis); }
public FrontTrackingLevelSet2D(VectorField <SinglePhaseField> Velocity_New, VectorField <SinglePhaseField> Velocity_Old, SinglePhaseField Interface, LevelSetTracker InterfaceTrck, VectorField <SinglePhaseField> LevelSetGradient, int max_AddandAttract_Iteration, int NarrowBandWidth, IGridData Grid, bool LevelSetCorrectionWithNeighbourCells, int ReseedingInterval, MinimalDistanceSearchMode LevelSetCorrection, TopologyMergingMode TopologyMerging, NormalVectorDampingMode NormalVectorDamping, double EdgeLengthToCurvatureFraction) : base(Velocity_New, Velocity_Old, Interface, InterfaceTrck, LevelSetGradient, NarrowBandWidth, Grid, ReseedingInterval, LevelSetCorrection, TopologyMerging, NormalVectorDamping, 1) { this.EdgeLengthToCurvatureFraction = EdgeLengthToCurvatureFraction; }