CFD Online Logo CFD Online URL
Home > Forums > Software User Forums > Siemens > STAR-CCM+

using Star over SSH, receiving MPI error!

Register Blogs Members List Search Today's Posts Mark Forums Read

LinkBack Thread Tools Search this Thread Display Modes
Old   March 5, 2020, 12:02
Default using Star over SSH, receiving MPI error!
New Member
Ross Bramley
Join Date: Mar 2020
Posts: 3
Rep Power: 3
Bramley is on a distinguished road
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
Bramley is offline   Reply With Quote

Old   March 5, 2020, 12:05
Default Follow up:
New Member
Ross Bramley
Join Date: Mar 2020
Posts: 3
Rep Power: 3
Bramley is on a distinguished road
just to clarify, the java.lang.NullPoin... error is followed by this:

at star.base.neo.ClientServerObject.executeImpl(Clien
at star.base.neo.ClientServerObject.execute(ClientSer
at star.base.neo.ClientServerObject.execute(ClientSer
at star.common.AutoSave.autoSaveBatch( 7)
at star.common.StarBatch.postJournal( 0)
at 34)
at star.base.neo.NeoBatch.start(
at star.common.StarBatch.main(
at star.coremodule.StarCoreModuleInstaller.runBatch(S
at star.coremodule.StarCoreModuleInstaller.restored(S
at org.netbeans.core.startup.NbInstaller.loadCode(NbI
at org.netbeans.core.startup.NbInstaller.loadImpl(NbI
at org.netbeans.core.startup.NbInstaller.access$000(N
at org.netbeans.core.startup.NbInstaller$
at org.openide.filesystems.FileUtil$ va:436)
at org.openide.filesystems.EventControl.runAtomicActi on(
at org.openide.filesystems.FileSystem.runAtomicAction (
at org.openide.filesystems.FileUtil.runAtomicAction(F
at org.openide.filesystems.FileUtil.runAtomicAction(F
at org.netbeans.core.startup.NbInstaller.load(NbInsta
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
at org.netbeans.core.startup.ModuleList.trigger(Modul
at org.netbeans.core.startup.ModuleSystem.restore(Mod
at org.netbeans.core.startup.Main.getModuleSystem(Mai
at org.netbeans.core.startup.Main.getModuleSystem(Mai
at org.netbeans.core.startup.Main.start( )
Bramley is offline   Reply With Quote

Old   March 5, 2020, 14:03
Senior Member
Lucky Tran
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 4,143
Rep Power: 50
LuckyTran has a spectacular aura aboutLuckyTran has a spectacular aura about
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.
LuckyTran is offline   Reply With Quote

Old   March 6, 2020, 06:07
Default My Macro
New Member
Ross Bramley
Join Date: Mar 2020
Posts: 3
Rep Power: 3
Bramley is on a distinguished road
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.coupledflow.*;
import star.turbulence.*;
import star.flow.*;

public class Adjoint extends StarMacro {

public void execute() {

private void execute0() {

Simulation simulation_0 =

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(AdjointFrozenTurbulenceM odel.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);


AdjointSolver adjointSolver_0 =
((AdjointSolver) simulation_0.getSolverManager().getSolver(AdjointS olver.class));

GmresSettings gmresSettings_0 =


AdjointSteadySolver adjointSteadySolver_0 =
((AdjointSteadySolver) adjointSolver_0.getAdjointSolverManager().getSolve r(AdjointSteadySolver.class));

FixedStepsStoppingCriterion fixedStepsStoppingCriterion_0 =
adjointSteadySolver_0.getSolverStoppingCriterionMa nager().createSolverStoppingCriterion(FixedStepsSt oppingCriterion.class);


ResidualPlot residualPlot_0 =
((ResidualPlot) simulation_0.getPlotManager().getPlot("Residuals") );;

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);


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));


Bramley is offline   Reply With Quote

Old   April 20, 2020, 23:50
Join Date: Dec 2018
Posts: 33
Rep Power: 4
Chris2337 is on a distinguished road
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.
Chris2337 is offline   Reply With Quote

Old   April 20, 2020, 23:59
Join Date: Dec 2018
Posts: 33
Rep Power: 4
Chris2337 is on a distinguished road
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.
Chris2337 is offline   Reply With Quote


java, macro, mpi, ssh

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
error compiling modified applications yvyan OpenFOAM Programming & Development 21 March 1, 2016 04:53
[] Compile OF 2.3 on Mac OS X .... the patch gschaider OpenFOAM Installation 225 August 25, 2015 19:43
OpenFOAM without MPI kokizzu OpenFOAM Installation 4 May 26, 2014 09:17
How to install CGNS under windows xp? lzgwhy Main CFD Forum 1 January 11, 2011 18:44
ParaView for OF-1.6-ext Chrisi1984 OpenFOAM Installation 0 December 31, 2010 06:42

All times are GMT -4. The time now is 04:42.