|
[Sponsors] |
[Other] dynamicTopoFVMesh and pointDisplacement |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
May 27, 2014, 11:17 |
dynamicTopoFVMesh and pointDisplacement
|
#1 |
New Member
Ke Yam
Join Date: May 2014
Posts: 2
Rep Power: 0 |
Hi all,
I am using OpenFoam 2.2.x with dynamicTopoFVMesh and Mesquite 2.3.0 to simulate a valve rotated by flow in a domain. The problem is simple 2D with a uniform coming from one side and exiting the other side. I am using pimpleDyFoam. I found that the solver works well when fixedValuePatches is used but does not work if it is changed to usePointDisplacement. This is the error that the solver gives: #0 Foam::error:rintStack(Foam::Ostream&) at ??:? #1 Foam::sigSegv::sigHandler(int) at ??:? #2 in "/usr/lib/libc.so.6" #3 Foam::valuePointPatchField<Foam::Vector<double> >::evaluate(Foam::UPstream::commsTypes) at ??:? #4 Foam::GeometricField<Foam::Vector<double>, Foam:ointPatchField, Foam:ointMesh>::GeometricBoundaryField::evaluate () at ??:? #5 Foam::mesquiteMotionSolver::applyFixedValuePatches () at ??:? #6 Foam::mesquiteMotionSolver::solve() at ??:? #7 Foam::motionSolver::newPoints() at ??:? #8 Foam::dynamicTopoFvMesh::update() at ??:? #9 at ??:? #10 __libc_start_main in "/usr/lib/libc.so.6" #11 at ??:? zsh: segmentation fault (core dumped) pimpleDyMFoam. Any idea how I can make this work? Here's the link to my setup: https://www.dropbox.com/s/sepmqcsjda...eValvM3.tar.gz Regards, Ke |
|
May 29, 2014, 12:44 |
|
#2 |
Senior Member
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 403
Rep Power: 25 |
Ke,
Out of curiosity, does this happen after a topology change? In that case, it looks like the pointPatchFields are not being mapped correctly. You may want to print out the size of the pointPatchFields and point patchSizes before / after the topology change to see if they are consistent. Sandeep |
|
May 30, 2014, 14:19 |
|
#3 |
New Member
Ke Yam
Join Date: May 2014
Posts: 2
Rep Power: 0 |
Hi Sandeep
Thank you for replying to my thread. Yes, I think it occurs after a topology change. Here's the output: Code:
Create time Create mesh for time = 0 Selecting dynamicFvMesh dynamicTopoFvMesh Selecting motion solver: mesquiteMotionSolver Reading field p Reading field U Reading/calculating face flux field phi void fvMesh::makeSf() : assembling face areas polyMesh::globalData() const : Constructing parallelData from processor topology This needs the patch faces to be correctly matched Selecting incompressible transport model Newtonian Selecting turbulence model type RASModel Selecting RAS turbulence model laminar void fvMesh::V() : slicing cellVolumes void fvMesh::makeC() : assembling cell centres void fvMesh::makeCf() : assembling face centres Reading field rAU if present No finite volume options present PIMPLE: no residual control data found. Calculations will employ 2 corrector loops Starting time loop forces forces: --> FOAM Warning : From function polyBoundaryMesh::patchSet(const wordReList&, const bool, const bool) const in file meshes/polyMesh/polyBoundaryMesh/polyBoundaryMesh.C at line 777 Cannot find any patch or group names matching wing Courant Number mean: 0.0002622653374 max: 0.01999999524 deltaT = 0.001 Time = 0.001 Solving for point motion: Initial residual: 1 Final residual: 0.009509871676 No Iterations: 28 Solving for point motion: Initial residual: 1 Final residual: 0.008395577821 No Iterations: 35 Found normal from empty patch 5 twoDPointCorrector normal: (0 0 1) ~~~ Mesh Quality Statistics ~~~ Min: 0.5777995078 Max: 0.9626499351 Mean: 0.7714097498 Cells: 3368 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Face: 3372 needs to be flipped. Cell[0]: 1698: 5(3371 3372 8574 8575 3367) Cell[1]: 2597: 5(4445 4446 10372 10373 3372) Common Faces: Set 1: 8574: 3(1390 496 1388), 10372: 3(496 490 1388) Common Faces: Set 2: 8575: 3(3200 3198 2306), 10373: 3(2306 3198 2300) Old face: 4(1388 496 2306 3198) Old faceEdges: 4(244 1136 4066 9244) New flipped face: 4(1390 490 2300 3200) New boundary face[0]: 8574: 3(1390 496 490) New boundary face[1]: 10372: 3(490 1388 1390) New boundary face[2]: 8575: 3(2300 2306 3200) New boundary face[3]: 10373: 3(3200 3198 2300) ..................[ cut out to save space] Face: 2 needs to be flipped. Cell[0]: 0: 5(0 1 2 5178 5179) Cell[1]: 2366: 5(4153 4154 9910 9911 2) Common Faces: Set 1: 5178: 3(1809 1206 806), 9910: 3(1206 691 806) Common Faces: Set 2: 5179: 3(3619 2616 3016), 9911: 3(3016 2616 2501) Old face: 4(806 1206 3016 2616) Old faceEdges: 4(554 954 5146 10324) New flipped face: 4(1809 691 2501 3619) New boundary face[0]: 5178: 3(1809 1206 691) New boundary face[1]: 9910: 3(691 806 1809) New boundary face[2]: 5179: 3(2501 3016 3619) New boundary face[3]: 9911: 3(3619 2616 2501) Edge Swapping complete. Topo modifier time: 0.053183 s Bisections :: Total: 0, Surface: 0 Collapses :: Total: 0, Surface: 0 Swaps :: Total: 828, Surface: 0 void fvMesh::makeMagSf() : assembling mag face areas Registered gradients: 4 ( U rAU nu p ) Mapping time: 0.556732 s ================= Mesh reOrdering ================= Mesh Info [n]: Points: 3620 Edges: 12166 Faces: 11914 Cells: 3368 Internal Edges: 1558 Internal Faces: 4926 nPatches: 6 Patch Starts [Face]: 6(4926 5010 5052 5094 5136 5178) Patch Sizes [Face]: 6(84 42 42 42 42 6736) Patch Starts [Edge]: 6(1558 1642 1683 1724 1767 1810) Patch Sizes [Edge]: 6(84 41 41 43 43 10356) ================= Mesh Info [n+1]: Points: 3620 Edges: 12166 Faces: 11914 Cells: 3368 Internal Edges: 1558 Internal Faces: 4926 nPatches: 6 Patch Starts [Face]: 6(4926 5010 5052 5094 5136 5178) Patch Sizes: [Face]: 6(84 42 42 42 42 6736) Patch Starts [Edge]: 6(1558 1642 1683 1724 1767 1810) Patch Sizes: [Edge]: 6(84 41 41 43 43 10356) ================= Checking index ranges...Done. Checking face-cell connectivity...Done. Checking for unused points...Done. Checking edge-face connectivity...Done. Checking cell-point connectivity...Done. ReOrdering points...Done. ReOrdering cells...Done. ReOrdering faces...Done. ReOrdering edges...Done. Reordering time: 0.027282 s void polyMesh::clearAddressing() : clearing topology void polyMesh::setInstance(const fileName& inst) : Resetting file instance to "0.001" void polyMesh::initMesh() : initialising primitiveMesh void polyMesh::updateMesh(const mapPolyMesh&) : updating addressing and (optional) pointMesh/pointFields void polyMesh::setInstance(const fileName& inst) : Resetting file instance to "0.001" fvMesh::storeOldVol(const scalarField&) : Storing old time volumes since from time 0 and time now 1 V:3368 fvMesh::storeOldVol() : Stored old time volumes V0:3368 void dynamicTopoFvMesh::mapFields(const mapPolyMesh&): Mapping fv fields. Conservatively mapping volScalarField nu Field: nu Mapping patch: GEOM size: 84 sizeBeforeMapping: 84 Field: nu Mapping patch: OUTLET size: 42 sizeBeforeMapping: 42 Field: nu Mapping patch: INLET size: 42 sizeBeforeMapping: 42 Field: nu Mapping patch: TOPWALL size: 42 sizeBeforeMapping: 42 Field: nu Mapping patch: BOTTOMWALL size: 42 sizeBeforeMapping: 42 Field: nu Mapping patch: frontAndBackPlanes size: 0 sizeBeforeMapping: 0 Conservatively mapping volScalarField rAU Field: rAU Mapping patch: GEOM size: 84 sizeBeforeMapping: 84 Field: rAU Mapping patch: OUTLET size: 42 sizeBeforeMapping: 42 Field: rAU Mapping patch: INLET size: 42 sizeBeforeMapping: 42 Field: rAU Mapping patch: TOPWALL size: 42 sizeBeforeMapping: 42 Field: rAU Mapping patch: BOTTOMWALL size: 42 sizeBeforeMapping: 42 Field: rAU Mapping patch: frontAndBackPlanes size: 0 sizeBeforeMapping: 0 Conservatively mapping volScalarField p Field: p Mapping patch: GEOM size: 84 sizeBeforeMapping: 84 Field: p Mapping patch: OUTLET size: 42 sizeBeforeMapping: 42 Field: p Mapping patch: INLET size: 42 sizeBeforeMapping: 42 Field: p Mapping patch: TOPWALL size: 42 sizeBeforeMapping: 42 Field: p Mapping patch: BOTTOMWALL size: 42 sizeBeforeMapping: 42 Field: p Mapping patch: frontAndBackPlanes size: 0 sizeBeforeMapping: 0 Conservatively mapping volVectorField U Field: U Mapping patch: GEOM size: 84 sizeBeforeMapping: 84 Field: U Mapping patch: OUTLET size: 42 sizeBeforeMapping: 42 Field: U Mapping patch: INLET size: 42 sizeBeforeMapping: 42 Field: U Mapping patch: TOPWALL size: 42 sizeBeforeMapping: 42 Field: U Mapping patch: BOTTOMWALL size: 42 sizeBeforeMapping: 42 Field: U Mapping patch: frontAndBackPlanes size: 0 sizeBeforeMapping: 0 Mapping volTensorField grad(U) Conservatively mapping surfaceScalarField phi Field: phi Mapping patch: GEOM size: 84 sizeBeforeMapping: 84 Field: phi Mapping patch: OUTLET size: 42 sizeBeforeMapping: 42 Field: phi Mapping patch: INLET size: 42 sizeBeforeMapping: 42 Field: phi Mapping patch: TOPWALL size: 42 sizeBeforeMapping: 42 Field: phi Mapping patch: BOTTOMWALL size: 42 sizeBeforeMapping: 42 Field: phi Mapping patch: frontAndBackPlanes size: 0 sizeBeforeMapping: 0 tmp<scalarField> polyMesh::movePoints(const pointField&) : Moving points for time 0.001 index 1 bool polyMesh::checkMeshMotion(const pointField&, const bool, const bool) const: checking mesh motion Min volume = 5.727559221e-05. Max volume = 0.0001041416386. Total volume = 0.215692028. Cell volumes OK. Minimum face area = 0.001012498991. Maximum face area = 0.004000000952. Face area magnitudes OK. Face pyramids OK. bool polyMesh::checkFaceOrthogonality(const bool, labelHashSet*) const: checking mesh non-orthogonality Mesh non-orthogonality Max: 28.39302579 average: 20.81131324 Non-orthogonality check OK. Mesh motion check OK. ~~~ No flux correction ~~~ tmp<scalarField> polyMesh::movePoints(const pointField&) : Moving points for time 0.001 index 1 bool polyMesh::checkMeshMotion(const pointField&, const bool, const bool) const: checking mesh motion Min volume = 4.862774937e-05. Max volume = 9.912823019e-05. Total volume = 0.215692028. Cell volumes OK. Minimum face area = 0.0008596252833. Maximum face area = 0.004178322181. Face area magnitudes OK. Face pyramids OK. bool polyMesh::checkFaceOrthogonality(const bool, labelHashSet*) const: checking mesh non-orthogonality Mesh non-orthogonality Max: 27.06962956 average: 20.63451199 Non-orthogonality check OK. Mesh motion check OK. ~~~ Mesh Quality Statistics ~~~ Min: 0.7313930133 Max: 0.9626499351 Mean: 0.774391345 Cells: 3368 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ void fvMesh::makeMagSf() : assembling mag face areas void fvMesh::makeSf() : assembling face areas polyMesh::globalData() const : Constructing parallelData from processor topology This needs the patch faces to be correctly matched void fvMesh::V() : slicing cellVolumes void fvMesh::makeC() : assembling cell centres void fvMesh::makeCf() : assembling face centres GAMG: Solving for pcorr, Initial residual = 1, Final residual = 0.013209383, No Iterations 14 time step continuity errors : sum local = 6.928726577e-06, global = -1.701657221e-06, cumulative = -1.701657221e-06 PIMPLE: iteration 1 DILUPBiCG: Solving for Ux, Initial residual = 0.1752459437, Final residual = 0.0006955123468, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 1, Final residual = 0.003396926098, No Iterations 1 GAMG: Solving for p, Initial residual = 1, Final residual = 0.006144049203, No Iterations 16 time step continuity errors : sum local = 3.539652493e-06, global = -6.932935213e-07, cumulative = -2.394950742e-06 PIMPLE: iteration 2 DILUPBiCG: Solving for Ux, Initial residual = 0.4288754813, Final residual = 9.623027865e-07, No Iterations 3 DILUPBiCG: Solving for Uy, Initial residual = 0.2458947718, Final residual = 3.479113767e-07, No Iterations 3 GAMG: Solving for p, Initial residual = 0.06048700728, Final residual = 9.02062096e-08, No Iterations 26 time step continuity errors : sum local = 1.124818144e-08, global = -2.147428623e-09, cumulative = -2.397098171e-06 ExecutionTime = 0.85 s ClockTime = 1 s End void polyMesh::clearGeom() : clearing geometric data void polyMesh::clearAddressing() : clearing topology void polyMesh::clearGeom() : clearing geometric data void polyMesh::clearAddressing() : clearing topology #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::sigSegv::sigHandler(int) at ??:? #2 in "/usr/lib/libc.so.6" #3 Foam::GeometricField<Foam::Vector<double>, Foam::pointPatchField, Foam::pointMesh>::GeometricBoundaryField::writeEntry(Foam::word const&, Foam::Ostream&) const at ??:? #4 Foam::GeometricField<Foam::Vector<double>, Foam::pointPatchField, Foam::pointMesh>::writeData(Foam::Ostream&) const at ??:? #5 Foam::regIOobject::writeObject(Foam::IOstream::streamFormat, Foam::IOstream::versionNumber, Foam::IOstream::compressionType) const at ??:? #6 Foam::objectRegistry::writeObject(Foam::IOstream::streamFormat, Foam::IOstream::versionNumber, Foam::IOstream::compressionType) const at ??:? #7 Foam::objectRegistry::writeObject(Foam::IOstream::streamFormat, Foam::IOstream::versionNumber, Foam::IOstream::compressionType) const at ??:? #8 Foam::Time::writeObject(Foam::IOstream::streamFormat, Foam::IOstream::versionNumber, Foam::IOstream::compressionType) const at ??:? #9 at ??:? #10 __libc_start_main in "/usr/lib/libc.so.6" #11 at ??:? zsh: segmentation fault (core dumped) pimpleDyMFoam > log Code:
--> FOAM FATAL ERROR: edgeFaces_ full at entry:36 for edge 3 0 From function calcEdgeAddressing(const faceList&, const label) in file meshes/meshShapes/cellMatcher/cellMatcher.C at line 181. FOAM aborting #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::error::abort() at ??:? #2 Foam::cellMatcher::calcEdgeAddressing(int) at ??:? #3 Foam::prismMatcher::matchShape(bool, Foam::List<Foam::face> const&, Foam::List<int> const&, int, Foam::List<int> const&) at ??:? #4 Foam::degenerateMatcher::match(Foam::List<Foam::face> const&, Foam::List<int> const&, int, Foam::List<int> const&) at ??:? #5 Foam::degenerateMatcher::match(Foam::primitiveMesh const&, int) at ??:? #6 Foam::primitiveMesh::calcCellShapes() const at ??:? #7 Foam::primitiveMesh::cellShapes() const at ??:? #8 Foam::vtkPV3Foam::volumeVTKMesh(Foam::fvMesh const&, Foam::vtkPV3Foam::polyDecomp&) at ??:? #9 Foam::vtkPV3Foam::convertMeshVolume(vtkMultiBlockDataSet*, int&) at ??:? #10 Foam::vtkPV3Foam::Update(vtkMultiBlockDataSet*, vtkMultiBlockDataSet*) at ??:? #11 vtkPV3FoamReader::RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) at ??:? #12 vtkExecutive::CallAlgorithm(vtkInformation*, int, vtkInformationVector**, vtkInformationVector*) in "/home/p004208/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/paraview-3.12.0/lib/paraview-3.12/libvtkFiltering.so.pv3.12" #13 vtkDemandDrivenPipeline::ExecuteData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) in "/home/p004208/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/paraview-3.12.0/lib/paraview-3.12/libvtkFiltering.so.pv3.12" #14 vtkCompositeDataPipeline::ExecuteData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) in "/home/p004208/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/paraview-3.12.0/lib/paraview-3.12/libvtkFiltering.so.pv3.12" #15 vtkDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) in "/home/p004208/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/paraview-3.12.0/lib/paraview-3.12/libvtkFiltering.so.pv3.12" #16 vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) in "/home/p004208/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/paraview-3.12.0/lib/paraview-3.12/libvtkFiltering.so.pv3.12" #17 in "/home/p004208/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/paraview-3.12.0/lib/paraview-3.12/libvtkFiltering.so.pv3.12" #18 vtkDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) in "/home/p004208/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/paraview-3.12.0/lib/paraview-3.12/libvtkFiltering.so.pv3.12" #19 vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) in "/home/p004208/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/paraview-3.12.0/lib/paraview-3.12/libvtkFiltering.so.pv3.12" #20 in "/home/p004208/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/paraview-3.12.0/lib/paraview-3.12/libvtkFiltering.so.pv3.12" #21 vtkDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) in "/home/p004208/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/paraview-3.12.0/lib/paraview-3.12/libvtkFiltering.so.pv3.12" #22 vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) in "/home/p004208/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/paraview-3.12.0/lib/paraview-3.12/libvtkFiltering.so.pv3.12" #23 in "/home/p004208/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/paraview-3.12.0/lib/paraview-3.12/libvtkFiltering.so.pv3.12" #24 vtkDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) in "/home/p004208/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/paraview-3.12.0/lib/paraview-3.12/libvtkFiltering.so.pv3.12" #25 vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) in "/home/p004208/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/paraview-3.12.0/lib/paraview-3.12/libvtkFiltering.so.pv3.12" #26 in "/home/p004208/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/paraview-3.12.0/lib/paraview-3.12/libvtkFiltering.so.pv3.12" #27 vtkDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) in "/home/p004208/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/paraview-3.12.0/lib/paraview-3.12/libvtkFiltering.so.pv3.12" #28 vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) in "/home/p004208/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/paraview-3.12.0/lib/paraview-3.12/libvtkFiltering.so.pv3.12" #29 vtkDemandDrivenPipeline::UpdateData(int) in "/home/p004208/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/paraview-3.12.0/lib/paraview-3.12/libvtkFiltering.so.pv3.12" #30 vtkStreamingDemandDrivenPipeline::Update(int) in "/home/p004208/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/paraview-3.12.0/lib/paraview-3.12/libvtkFiltering.so.pv3.12" #31 vtkPVDataRepresentation::ProcessViewRequest(vtkInformationRequestKey*, vtkInformation*, vtkInformation*) at ??:? #32 vtkPVView::CallProcessViewRequest(vtkInformationRequestKey*, vtkInformation*, vtkInformationVector*) at ??:? #33 vtkPVView::Update() at ??:? #34 vtkPVRenderView::Update() at vtkPVRenderView.cxx:? #35 vtkPVRenderViewCommand(vtkClientServerInterpreter*, vtkObjectBase*, char const*, vtkClientServerStream const&, vtkClientServerStream&) at ??:? #36 vtkClientServerInterpreter::ProcessCommandInvoke(vtkClientServerStream const&, int) at ??:? #37 vtkClientServerInterpreter::ProcessOneMessage(vtkClientServerStream const&, int) at ??:? #38 vtkClientServerInterpreter::ProcessStream(vtkClientServerStream const&) at ??:? #39 vtkPVSessionCore::ExecuteStreamInternal(vtkClientServerStream const&, bool) at ??:? #40 vtkPVSessionCore::ExecuteStream(unsigned int, vtkClientServerStream const&, bool) at ??:? #41 vtkPVSessionBase::ExecuteStream(unsigned int, vtkClientServerStream const&, bool) at vtkPVSessionBase.cxx:? #42 vtkSMProxy::ExecuteStream(vtkClientServerStream const&, bool, unsigned int) at ??:? #43 vtkSMViewProxy::Update() at ??:? #44 vtkSMViewProxy::StillRender() at ??:? #45 vtkSMAnimationScene::TickInternal(double, double, double) at ??:? #46 vtkAnimationCue::Tick(double, double, double) in "/home/p004208/OpenFOAM/ThirdParty-2.2.x/platforms/linux64Gcc/paraview-3.12.0/lib/paraview-3.12/libvtkCommon.so.pv3.12" #47 vtkPVAnimationSceneCommand(vtkClientServerInterpreter*, vtkObjectBase*, char const*, vtkClientServerStream const&, vtkClientServerStream&) at ??:? #48 vtkSMAnimationSceneCommand(vtkClientServerInterpreter*, vtkObjectBase*, char const*, vtkClientServerStream const&, vtkClientServerStream&) at ??:? #49 vtkClientServerInterpreter::ProcessCommandInvoke(vtkClientServerStream const&, int) at ??:? #50 vtkClientServerInterpreter::ProcessOneMessage(vtkClientServerStream const&, int) at ??:? #51 vtkClientServerInterpreter::ProcessStream(vtkClientServerStream const&) at ??:? #52 vtkSIProperty::ProcessMessage(vtkClientServerStream&) at ??:? #53 vtkSIVectorPropertyTemplate<double, int>::Push(double*, int) at ??:? #54 vtkSIVectorPropertyTemplate<double, int>::Push(paraview_protobuf::Message*, int) at Thank you. Regard, Ke |
|
March 2, 2015, 17:03 |
|
#4 | |
Member
Join Date: Jun 2011
Posts: 80
Rep Power: 15 |
Quote:
Just a question: My case is an oscillating and pitching foil in current, and I think the most efficient way to run it is by moving a cell region and remeshing outdoors. Well, is possible with dynamicTopoFVMesh? What do you think is the best way to do it? (I discard laplacian displacement or RBF for not being efficient approaches) Cheers, Best! |
||
March 2, 2015, 17:43 |
|
#5 |
Senior Member
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 403
Rep Power: 25 |
I think this should be possible. If you create an airfoil with a fixed mesh around it (can be hexes, poly, etc), and then have a tri-prism / tetrahedral mesh surrounding it, you can then mark all points in the fixed mesh and put them in a separate pointZone. Once that is done, you can move this pointZone in a rigid-body sense along with your airfoil, and remesh in the tri / tet regions as necessary.
|
|
March 2, 2015, 18:19 |
|
#6 | |
Member
Join Date: Jun 2011
Posts: 80
Rep Power: 15 |
Quote:
Thanks again! Best. |
||
April 26, 2018, 08:30 |
|
#7 |
New Member
Join Date: Oct 2016
Posts: 9
Rep Power: 10 |
Hi Maalan
can you perform fixed region around airfoil? |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Questions on dynamicTopoFvMesh | danvica | OpenFOAM Running, Solving & CFD | 80 | April 16, 2019 17:58 |