|
[Sponsors] |
March 5, 2020, 13:02 |
using Star over SSH, receiving MPI error!
|
#1 |
New Member
Ross Bramley
Join Date: Mar 2020
Posts: 3
Rep Power: 6 |
Hi, I'm trying to run an adjoint solver macro via ssh on a linux compute cluster. The macro works fully on my computer and other computers when ran locally, but when I tell the compute cluster to run the macro, it gets to "GMRES(m) inner-iterations for Downforce" (so it tries to start the GMres solver) but immediately stops followed by this message "MPI Application rank 7 exited before MPI_Finalize() with status 137" with a java.lang.NullPointException error
Any help would be greatly appreciated, thanks |
|
March 5, 2020, 13:05 |
Follow up:
|
#2 |
New Member
Ross Bramley
Join Date: Mar 2020
Posts: 3
Rep Power: 6 |
just to clarify, the java.lang.NullPoin... error is followed by this:
java.lang.NullPointerException at star.base.neo.ClientServerObject.executeImpl(Clien tServerObject.java:1076) at star.base.neo.ClientServerObject.execute(ClientSer verObject.java:1040) at star.base.neo.ClientServerObject.execute(ClientSer verObject.java:1046) at star.common.AutoSave.autoSaveBatch(AutoSave.java:7 7) at star.common.StarBatch.postJournal(StarBatch.java:9 0) at star.common.StarRootBatch.run(StarRootBatch.java:2 34) at star.base.neo.NeoBatch.start(NeoBatch.java:122) at star.common.StarBatch.main(StarBatch.java:170) at star.coremodule.StarCoreModuleInstaller.runBatch(S tarCoreModuleInstaller.java:508) at star.coremodule.StarCoreModuleInstaller.restored(S tarCoreModuleInstaller.java:426) at org.netbeans.core.startup.NbInstaller.loadCode(NbI nstaller.java:468) at org.netbeans.core.startup.NbInstaller.loadImpl(NbI nstaller.java:391) at org.netbeans.core.startup.NbInstaller.access$000(N bInstaller.java:102) at org.netbeans.core.startup.NbInstaller$1.run(NbInst aller.java:343) at org.openide.filesystems.FileUtil$2.run(FileUtil.ja va:436) at org.openide.filesystems.EventControl.runAtomicActi on(EventControl.java:127) at org.openide.filesystems.FileSystem.runAtomicAction (FileSystem.java:519) at org.openide.filesystems.FileUtil.runAtomicAction(F ileUtil.java:420) at org.openide.filesystems.FileUtil.runAtomicAction(F ileUtil.java:440) at org.netbeans.core.startup.NbInstaller.load(NbInsta ller.java:340) at org.netbeans.ModuleManager.enable(ModuleManager.ja va:1365) at org.netbeans.ModuleManager.enable(ModuleManager.ja va:1170) at org.netbeans.core.startup.ModuleList.installNew(Mo duleList.java:340) at org.netbeans.core.startup.ModuleList.trigger(Modul eList.java:276) at org.netbeans.core.startup.ModuleSystem.restore(Mod uleSystem.java:301) at org.netbeans.core.startup.Main.getModuleSystem(Mai n.java:181) at org.netbeans.core.startup.Main.getModuleSystem(Mai n.java:150) at org.netbeans.core.startup.Main.start(Main.java:307 ) at org.netbeans.core.startup.TopThreadGroup.run(TopTh readGroup.java:123) at java.lang.Thread.run(Thread.java:748) |
|
March 5, 2020, 15:03 |
|
#3 |
Senior Member
Lucky
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 5,754
Rep Power: 66 |
the java.lang.NullPointException error is an almost useless error msg. It says java broke. Likewise the MPI Application Rank 7 exited before MPI_Finalize() means that thread 7 ended before it was supposed to, which is obvious in hindsight because your case didn't finish running.
The only clue is the part about you wrote about "GMRES(m) inner-iterations for Downforce" The good news is we know it crashes in your macro. The bad news is that's all we know so far. Posting the macro might help debug. |
|
March 6, 2020, 07:07 |
My Macro
|
#4 |
New Member
Ross Bramley
Join Date: Mar 2020
Posts: 3
Rep Power: 6 |
Alright, here's my macro. For some background, there is a primal flow solver which runs for 5000 iterations, and then an adjoint macro which applies to that converged solution for 10 adjoint iterations, and saves the adjointed sim as a seperate simulation to view shape optimisation.
------- package macro; import java.util.*; import star.common.*; import star.segregatedflow.*; import star.base.neo.*; import star.morpher.*; import star.base.report.*; import star.coupledflow.*; import star.turbulence.*; import star.flow.*; public class Adjoint extends StarMacro { public void execute() { execute0(); } private void execute0() { Simulation simulation_0 = getActiveSimulation(); PhysicsContinuum physicsContinuum_0 = ((PhysicsContinuum) simulation_0.getContinuumManager().getContinuum("P hysics 1")); SegregatedFlowModel segregatedFlowModel_0 = physicsContinuum_0.getModelManager().getModel(Segr egatedFlowModel.class); physicsContinuum_0.disableModel(segregatedFlowMode l_0); physicsContinuum_0.enable(AdjointModel.class); physicsContinuum_0.enable(AdjointFrozenTurbulenceM odel.class); physicsContinuum_0.enable(CoupledFlowModel.class); physicsContinuum_0.enable(AdjointFlowModel.class); physicsContinuum_0.enable(SurfaceSensitivityModel. class); ForceCoefficientReport forceCoefficientReport_0 = ((ForceCoefficientReport) simulation_0.getReportManager().getReport("Lift_Co efficient")); forceCoefficientReport_0.getDirection().setCompone nts(0.0, -1.0, 0.0); forceCoefficientReport_0.setPresentationName("Down force"); ForceCostFunction forceCostFunction_0 = simulation_0.getAdjointCostFunctionManager().creat eAdjointCostFunction(ForceCostFunction.class); forceCostFunction_0.setForceReport(forceCoefficien tReport_0); forceCostFunction_0.setPresentationName("Downforce "); ForceCostFunction forceCostFunction_1 = simulation_0.getAdjointCostFunctionManager().creat eAdjointCostFunction(ForceCostFunction.class); ForceCoefficientReport forceCoefficientReport_1 = ((ForceCoefficientReport) simulation_0.getReportManager().getReport("Drag_Co efficient")); forceCostFunction_1.setForceReport(forceCoefficien tReport_1); forceCostFunction_1.setPresentationName("Drag"); AdjointSolver adjointSolver_0 = ((AdjointSolver) simulation_0.getSolverManager().getSolver(AdjointS olver.class)); GmresSettings gmresSettings_0 = adjointSolver_0.getGmresSettings(); gmresSettings_0.setKrylovSpaceDimension(50); AdjointSteadySolver adjointSteadySolver_0 = ((AdjointSteadySolver) adjointSolver_0.getAdjointSolverManager().getSolve r(AdjointSteadySolver.class)); FixedStepsStoppingCriterion fixedStepsStoppingCriterion_0 = adjointSteadySolver_0.getSolverStoppingCriterionMa nager().createSolverStoppingCriterion(FixedStepsSt oppingCriterion.class); fixedStepsStoppingCriterion_0.setFixedSteps(10); ResidualPlot residualPlot_0 = ((ResidualPlot) simulation_0.getPlotManager().getPlot("Residuals") ); residualPlot_0.open(); simulation_0.getSimulationIterator().run(adjointSt eadySolver_0); AdjointFlowSolver adjointFlowSolver_0 = ((AdjointFlowSolver) adjointSolver_0.getAdjointSolverManager().getSolve r(AdjointFlowSolver.class)); adjointFlowSolver_0.computeAdjointErrorEstimates() ; SumReport sumReport_0 = simulation_0.getReportManager().createReport(SumRe port.class); PrimitiveFieldFunction primitiveFieldFunction_0 = ((PrimitiveFieldFunction) simulation_0.getFieldFunctionManager().getFunction ("Adjoint1::AdjointErrorEstimate")); sumReport_0.setFieldFunction(primitiveFieldFunctio n_0); sumReport_0.setPresentationName("Error of downforce"); AdjointMeshSolver adjointMeshSolver_0 = ((AdjointMeshSolver) adjointSolver_0.getAdjointSolverManager().getSolve r(AdjointMeshSolver.class)); Region region_0 = simulation_0.getRegionManager().getRegion("Region" ); Boundary boundary_0 = region_0.getBoundaryManager().getBoundary("Subtrac t.Enclosure.Ground"); boundary_0.getConditions().get(SurfaceSensitivityO ption.class).setSelected(SurfaceSensitivityOption. Type.PASSIVE); Boundary boundary_1 = region_0.getBoundaryManager().getBoundary("Subtrac t.Enclosure.Inlet"); boundary_1.getConditions().get(SurfaceSensitivityO ption.class).setSelected(SurfaceSensitivityOption. Type.PASSIVE); Boundary boundary_2 = region_0.getBoundaryManager().getBoundary("Subtrac t.Enclosure.Outlet"); boundary_2.getConditions().get(SurfaceSensitivityO ption.class).setSelected(SurfaceSensitivityOption. Type.PASSIVE); Boundary boundary_3 = region_0.getBoundaryManager().getBoundary("Subtrac t.DA-DL-RH-RA.wheels-1-solid1.Faces"); boundary_3.getConditions().get(SurfaceSensitivityO ption.class).setSelected(SurfaceSensitivityOption. Type.PASSIVE); Boundary boundary_4 = region_0.getBoundaryManager().getBoundary("Subtrac t.DA-DL-RH-RA.wheels-2-solid1.Faces"); boundary_4.getConditions().get(SurfaceSensitivityO ption.class).setSelected(SurfaceSensitivityOption. Type.PASSIVE); SurfaceSensitivitySolver surfaceSensitivitySolver_0 = ((SurfaceSensitivitySolver) adjointSolver_0.getAdjointSolverManager().getSolve r(SurfaceSensitivitySolver.class)); surfaceSensitivitySolver_0.computeSurfaceSensitivi ty(); Units units_0 = simulation_0.getUnitsManager().getPreferredUnits(n ew IntVector(new int[] {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0})); Boundary boundary_5 = region_0.getBoundaryManager().getBoundary("Subtrac t.DA-DL-RH-RA.Splitter-1-solid1.Faces"); FvRepresentation fvRepresentation_0 = ((FvRepresentation) simulation_0.getRepresentationManager().getObject( "Volume Mesh")); PointSet pointSet_0 = simulation_0.get(PointSetManager.class).createPart PointSet("Part Point Set", new NeoObjectVector(new Object[] {boundary_5}), 0.001, 10000, false, 0.0, fvRepresentation_0); adjointMeshSolver_0.computeMeshSensitivity(); UserFieldFunction userFieldFunction_0 = simulation_0.getFieldFunctionManager().createField Function(); userFieldFunction_0.getTypeOption().setSelected(Fi eldFunctionTypeOption.Type.VECTOR); userFieldFunction_0.setPresentationName("Displacem ent"); userFieldFunction_0.setDefinition("$$CumulativeMor pherDisplacement + 1.e-04*$${Adjoint1::CoordAdjoint}"); MeshDeformationProfile meshDeformationProfile_0 = pointSet_0.getValues().get(MeshDeformationProfile. class); meshDeformationProfile_0.setMethod(FunctionVectorP rofileMethod.class); meshDeformationProfile_0.getMethod(FunctionVectorP rofileMethod.class).setFieldFunction(userFieldFunc tion_0); MeshDeformationSolver meshDeformationSolver_0 = ((MeshDeformationSolver) simulation_0.getSolverManager().getSolver(MeshDefo rmationSolver.class)); meshDeformationSolver_0.deformMesh(); simulation_0.saveState("Adjoint.sim"); } } |
|
April 21, 2020, 00:50 |
|
#5 |
Member
Chris
Join Date: Dec 2018
Posts: 37
Rep Power: 7 |
I have the same problem (and have had it before). Did you just change versions of Star (say from 12 something to 14 something)? I've had problem where my reports for things reference surfaces meshes instead of volume meshes when I change versions and Star throws this kind of error. Also had where I changed certain outlet types to walls and then back and the sim then ran fine.
My other guess (and probably the problem I currently have) is not enough RAM if you're running on less nodes or a different computer than normal. Usually Star throws a SIGSEV error for RAM problems but I feel like RAM issues can show up in many forms. |
|
April 21, 2020, 00:59 |
|
#6 |
Member
Chris
Join Date: Dec 2018
Posts: 37
Rep Power: 7 |
Sorry, just read the post in more detail (and saw the date). I would bet it has to do with the report or boundary condition type if you just changed versions of Star. From what I can tell these messages (as useless as they are) are saying the simulation was looking for something it couldn't find so it broke, which means you need to tell it where that thing is so it can find it. It could be something else, but the issues I've had before relate to mesh the report references (which effects the monitors) and the boundary conditions in the region being different internally to Star between versions so changing them and then changing them back resets that.
|
|
Tags |
java, macro, mpi, ssh |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
error compiling modified applications | yvyan | OpenFOAM Programming & Development | 21 | March 1, 2016 05:53 |
[OpenFOAM.org] Compile OF 2.3 on Mac OS X .... the patch | gschaider | OpenFOAM Installation | 225 | August 25, 2015 20:43 |
OpenFOAM without MPI | kokizzu | OpenFOAM Installation | 4 | May 26, 2014 10:17 |
How to install CGNS under windows xp? | lzgwhy | Main CFD Forum | 1 | January 11, 2011 19:44 |
ParaView for OF-1.6-ext | Chrisi1984 | OpenFOAM Installation | 0 | December 31, 2010 07:42 |