Class FermentationReactor
java.lang.Object
neqsim.util.NamedBaseClass
neqsim.process.SimulationBaseClass
neqsim.process.equipment.ProcessEquipmentBaseClass
neqsim.process.equipment.TwoPortEquipment
neqsim.process.equipment.reactor.StirredTankReactor
neqsim.process.equipment.reactor.Fermenter
neqsim.process.equipment.reactor.FermentationReactor
- All Implemented Interfaces:
Serializable, Runnable, ProcessEquipmentInterface, TwoPortInterface, ProcessElementInterface, SimulationInterface, NamedInterface
Fermentation reactor with Monod and Contois kinetics for bio-chemical conversion.
Extends Fermenter with mechanistic kinetic models (Monod, Contois) for microbial growth,
substrate consumption, and product formation. Supports substrate inhibition, product inhibition,
and fed-batch operation modes. Suitable for modelling ethanol fermentation, organic acid
production, and other biofuel/bioproduct pathways.
Kinetic Models
| Model | Equation | Typical Use |
|---|---|---|
| MONOD | mu = muMax * S / (Ks + S) | Dilute substrates, wastewater |
| CONTOIS | mu = muMax * S / (Ksx * X + S) | High-solids, solid-state fermentation |
| SUBSTRATE_INHIBITED | mu = muMax * S / (Ks + S + S^2/Ki) | High-concentration substrates |
| PRODUCT_INHIBITED | mu = muMax * S / (Ks + S) * (1 - P/Pmax)^n | Ethanol fermentation |
Operation Modes
- CONTINUOUS - steady-state CSTR with constant dilution rate
- BATCH - closed system, time-integrated kinetics
- FED_BATCH - batch with periodic substrate feeding
Usage example:
FermentationReactor reactor = new FermentationReactor("EtOH-R1");
reactor.setKineticModel(FermentationReactor.KineticModel.PRODUCT_INHIBITED);
reactor.setOperationMode(FermentationReactor.OperationMode.CONTINUOUS);
reactor.setMaxSpecificGrowthRate(0.40); // 1/hr
reactor.setMonodConstant(2.0); // g/L
reactor.setYieldBiomass(0.05); // g cells / g substrate
reactor.setYieldProduct(0.46); // g ethanol / g glucose (stoichiometric ~0.51)
reactor.setProductInhibitionConcentration(90.0); // g/L
reactor.setSubstrateConcentration(180.0); // g/L glucose
reactor.setBiomassConcentration(2.0); // g/L inoculum
reactor.setVesselVolume(200.0); // m3
reactor.setResidenceTime(48.0, "hr");
reactor.setReactorTemperature(32.0, "C");
reactor.run();
double substrateConversion = reactor.getSubstrateConversion();
double productConcentration = reactor.getProductConcentrationGPerL();
double productivity = reactor.getProductivity();
- Version:
- 1.0
- Author:
- Even Solbraa
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumKinetic model type enumeration.static enumOperation mode enumeration. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleBatch time in hours for BATCH and FED_BATCH modes.private doubleInitial / feed biomass concentration in g/L.private doubleContois constant (Ksx) in g substrate / g biomass, used with CONTOIS model.private doubleFeeding rate in L/hr for fed-batch mode.private doubleFeed substrate concentration in g/L for fed-batch mode.private doubleFinal biomass concentration in g/L.private doubleFinal product concentration in g/L.private doubleFinal substrate concentration in g/L.private StreamInterfaceGas product outlet stream (CO2, etc.).private StringName of the gas product component.private doubleGas product yield per substrate consumed (mol gas / mol substrate).private booleanWhether the reactor has been run.private doubleInitial product concentration in g/L.private FermentationReactor.KineticModelSelected kinetic model.private StreamInterfaceLiquid product outlet stream.private static final org.apache.logging.log4j.LoggerLogger instance.private doubleMaintenance coefficient (g substrate / (g cells * hr)).private doubleMonod half-saturation constant (Ks) in g/L.private doubleMaximum specific growth rate in 1/hr.Operation mode.private StringName of the main fermentation product for NeqSim component mapping.private doubleTotal product formed in kg/hr.private doubleProduct inhibition concentration (Pmax) in g/L, used with PRODUCT_INHIBITED model.private doubleProduct inhibition exponent, used with PRODUCT_INHIBITED model.private doubleVolumetric productivity in g/(L*hr).private static final longSerialization version UID.private doubleSpecific growth rate achieved in 1/hr.private StringName of the substrate component for NeqSim component mapping.private doubleInitial / feed substrate concentration in g/L.private doubleTotal substrate consumed in kg/hr.private doubleSubstrate conversion (0-1).private doubleSubstrate inhibition constant (Ki) in g/L, used with SUBSTRATE_INHIBITED model.private doubleBiomass yield (g cells / g substrate consumed).private doubleProduct yield (g product / g substrate consumed).Fields inherited from class TwoPortEquipment
inStream, outStreamFields inherited from class ProcessEquipmentBaseClass
conditionAnalysisMessage, energyStream, hasController, isSolved, properties, reportFields inherited from class SimulationBaseClass
calcIdentifier, calculateSteadyState, timeFields inherited from class NamedBaseClass
name -
Constructor Summary
ConstructorsConstructorDescriptionFermentationReactor(String name) Creates a fermentation reactor with the given name.FermentationReactor(String name, StreamInterface inletStream) Creates a fermentation reactor with inlet stream. -
Method Summary
Modifier and TypeMethodDescriptionprivate voidbuildOutputStreams(UUID id, double volumetricFlowLPerHr) Creates the liquid and gas output streams from fermentation results.doublecomputeGrowthRate(double s, double x, double p) Computes the specific growth rate using the selected kinetic model.doubleGets the batch time.doubleGets the biomass concentration.doubleGets the Contois constant.doubleReturns the final biomass concentration.doubleReturns the final substrate concentration.Returns the gas product outlet stream.Gets the kinetic model.Returns the liquid product outlet stream.doubleGets the maintenance coefficient.doubleGets the maximum specific growth rate.doubleGets the Monod constant.Gets the operation mode.Returns all outlet streams produced by this equipment.Gets the product component name.doubleReturns the final product concentration.doubleReturns the total product formed.doubleGets the product inhibition concentration.doubleGets the product inhibition exponent.doubleReturns the volumetric productivity.Returns a results map for JSON output.doubleReturns the specific growth rate achieved.Gets the substrate component name.doubleGets the substrate concentration.doubleReturns the total substrate consumed.doubleReturns the substrate conversion.doubleGets the substrate inhibition constant.doubleGets the biomass yield coefficient.doubleGets the product yield coefficient.voidRuns the fermentation reactor simulation.private voidRuns batch or fed-batch simulation using time integration.private voidrunContinuous(UUID id, double volL) Runs continuous CSTR simulation solving steady-state mass balances.voidsetBatchTime(double hours) Sets the batch time for batch or fed-batch modes.voidsetBiomassConcentration(double concGPerL) Sets the biomass inoculum concentration.voidsetContoisConstant(double ksx) Sets the Contois constant.voidsetFeedingRate(double rateL_hr) Sets the feeding rate for fed-batch mode.voidsetFeedSubstrateConcentration(double concGPerL) Sets the feed substrate concentration for fed-batch mode.voidsetGasProductName(String componentName) Sets the gas product component name.voidsetGasYieldMolPerMol(double yieldMolPerMol) Sets the gas yield per substrate consumed.voidsetInitialProductConcentration(double concGPerL) Sets the initial product concentration.voidSets the kinetic model.voidsetMaintenanceCoefficient(double ms) Sets the maintenance coefficient.voidsetMaxSpecificGrowthRate(double muMax) Sets the maximum specific growth rate.voidsetMonodConstant(double ks) Sets the Monod half-saturation constant.voidSets the operation mode.voidsetProductComponentName(String componentName) Sets the NeqSim component name for the fermentation product.voidsetProductInhibitionConcentration(double pmax) Sets the product inhibition concentration threshold.voidsetProductInhibitionExponent(double n) Sets the product inhibition exponent.voidsetSubstrateComponentName(String componentName) Sets the NeqSim component name for the substrate surrogate.voidsetSubstrateConcentration(double concGPerL) Sets the feed substrate concentration.voidsetSubstrateInhibitionConstant(double ki) Sets the substrate inhibition constant.voidsetYieldBiomass(double yxs) Sets the biomass yield coefficient.voidsetYieldProduct(double yps) Sets the product yield coefficient.private doublesolveIterative(double d) Iterative solver for steady-state substrate in complex kinetic models.private doublesolveSteadyStateSubstrate(double dilutionRate) Solves for steady-state substrate concentration in CSTR from kinetic model.private doublesolveSubstrateInhibited(double d) Solves substrate-inhibited kinetics for steady-state S.toJson()Serializes the Process Equipment along with its state to a JSON string.Methods inherited from class Fermenter
getAerationPower, getAerationRate, getCellYield, getCO2EvolutionRate, getKLa, getTargetPH, getTotalPower, isAerobic, setAerationRate, setAerobic, setCellYield, setKLa, setTargetPHMethods inherited from class StirredTankReactor
addReaction, clearReactions, getAgitatorPower, getAgitatorPowerPerVolume, getHeatDuty, getHeatDuty, getPressureDrop, getReactions, getReactorPressure, getReactorTemperature, getResidenceTime, getVesselVolume, isIsothermal, setAgitatorPowerPerVolume, setIsothermal, setPressureDrop, setReactorPressure, setReactorTemperature, setReactorTemperature, setResidenceTime, setVesselVolumeMethods inherited from class TwoPortEquipment
getInletPressure, getInletStream, getInletStreams, getInletTemperature, getMassBalance, getOutletPressure, getOutletStream, getOutletTemperature, setInletPressure, setInletStream, setInletTemperature, setOutletPressure, setOutletPressure, setOutletStream, setOutletTemperature, setOutletTemperature, toJson, validateSetupMethods inherited from class ProcessEquipmentBaseClass
addCapacityConstraint, addController, copy, displayResult, equals, getAvailableMargin, getAvailableMarginPercent, getBottleneckConstraint, getCapacityConstraints, getConditionAnalysisMessage, getConstraintEvaluationReport, getController, getController, getControllers, getEffectiveCapacityFactor, getEnergyStream, getEntropyProduction, getExergyChange, getFailureMode, getMassBalance, getMaxUtilization, getMaxUtilizationPercent, getMechanicalDesign, getMinimumFlow, getPressure, getPressure, getProperty, getReferenceDesignation, getReport_json, getResultTable, getSpecification, getTemperature, getTemperature, getThermoSystem, getUtilizationSummary, hashCode, initElectricalDesign, initializeDefaultConstraints, initInstrumentDesign, initMechanicalDesign, isActive, isActive, isCapacityAnalysisEnabled, isCapacityExceeded, isFailed, isHardLimitExceeded, isNearCapacityLimit, isSetEnergyStream, reportResults, restoreFromFailure, run_step, runConditionAnalysis, setCapacityAnalysisEnabled, setController, setEnergyStream, setEnergyStream, setFailureMode, setFlowValveController, setMinimumFlow, setPressure, setReferenceDesignation, setRegulatorOutSignal, setSpecification, setTemperature, simulateDegradedOperation, simulateTrip, solvedMethods inherited from class SimulationBaseClass
getCalculateSteadyState, getCalculationIdentifier, getTime, increaseTime, isRunInSteps, setCalculateSteadyState, setCalculationIdentifier, setRunInSteps, setTimeMethods inherited from class NamedBaseClass
getName, getTagNumber, setName, setTagNumberMethods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface NamedInterface
getName, getTagName, getTagNumber, setName, setTagName, setTagNumberMethods inherited from interface ProcessEquipmentInterface
getCapacityDuty, getCapacityMax, getElectricalDesign, getEquipmentState, getExergyChange, getExergyDestruction, getExergyDestruction, getFluid, getInstrumentDesign, getOperatingEnvelopeViolation, getOutletFlowRate, getOutletPressure, getOutletTemperature, getReferenceDesignationString, getRestCapacity, getSimulationValidationErrors, isSimulationValid, isWithinOperatingEnvelope, needRecalculationMethods inherited from interface SimulationInterface
getCalculateSteadyState, getCalculationIdentifier, getTime, increaseTime, isRunInSteps, run, run_step, runTransient, runTransient, setCalculateSteadyState, setCalculationIdentifier, setRunInSteps, setTimeMethods inherited from interface TwoPortInterface
getInStream, getOutStream, setOutPressure, setOutPressure, setOutTemperature, setOutTemperature
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
logger
private static final org.apache.logging.log4j.Logger loggerLogger instance. -
kineticModel
Selected kinetic model. -
operationMode
Operation mode. -
muMax
private double muMaxMaximum specific growth rate in 1/hr. -
monodConstant
private double monodConstantMonod half-saturation constant (Ks) in g/L. -
contoisConstant
private double contoisConstantContois constant (Ksx) in g substrate / g biomass, used with CONTOIS model. -
substrateInhibitionConstant
private double substrateInhibitionConstantSubstrate inhibition constant (Ki) in g/L, used with SUBSTRATE_INHIBITED model. -
productInhibitionConcentration
private double productInhibitionConcentrationProduct inhibition concentration (Pmax) in g/L, used with PRODUCT_INHIBITED model. -
productInhibitionExponent
private double productInhibitionExponentProduct inhibition exponent, used with PRODUCT_INHIBITED model. -
yieldBiomass
private double yieldBiomassBiomass yield (g cells / g substrate consumed). -
yieldProduct
private double yieldProductProduct yield (g product / g substrate consumed). -
maintenanceCoeff
private double maintenanceCoeffMaintenance coefficient (g substrate / (g cells * hr)). -
substrateConcentration
private double substrateConcentrationInitial / feed substrate concentration in g/L. -
biomassConcentration
private double biomassConcentrationInitial / feed biomass concentration in g/L. -
initialProductConcentration
private double initialProductConcentrationInitial product concentration in g/L. -
feedingRate
private double feedingRateFeeding rate in L/hr for fed-batch mode. -
feedSubstrateConcentration
private double feedSubstrateConcentrationFeed substrate concentration in g/L for fed-batch mode. -
batchTime
private double batchTimeBatch time in hours for BATCH and FED_BATCH modes. -
productComponentName
Name of the main fermentation product for NeqSim component mapping. -
substrateComponentName
Name of the substrate component for NeqSim component mapping. -
gasProductName
Name of the gas product component. -
gasYieldMolPerMol
private double gasYieldMolPerMolGas product yield per substrate consumed (mol gas / mol substrate). -
liquidOutStream
Liquid product outlet stream. -
gasOutStream
Gas product outlet stream (CO2, etc.). -
finalBiomassConc
private double finalBiomassConcFinal biomass concentration in g/L. -
finalSubstrateConc
private double finalSubstrateConcFinal substrate concentration in g/L. -
finalProductConc
private double finalProductConcFinal product concentration in g/L. -
substrateConversion
private double substrateConversionSubstrate conversion (0-1). -
specificGrowthRate
private double specificGrowthRateSpecific growth rate achieved in 1/hr. -
productivity
private double productivityVolumetric productivity in g/(L*hr). -
substrateConsumedKgPerHr
private double substrateConsumedKgPerHrTotal substrate consumed in kg/hr. -
productFormedKgPerHr
private double productFormedKgPerHrTotal product formed in kg/hr. -
hasRun
private boolean hasRunWhether the reactor has been run.
-
-
Constructor Details
-
FermentationReactor
Creates a fermentation reactor with the given name.- Parameters:
name- equipment name
-
FermentationReactor
Creates a fermentation reactor with inlet stream.- Parameters:
name- equipment nameinletStream- feed stream
-
-
Method Details
-
setKineticModel
Sets the kinetic model.- Parameters:
model- kinetic model type
-
getKineticModel
Gets the kinetic model.- Returns:
- kinetic model type
-
setOperationMode
Sets the operation mode.- Parameters:
mode- operation mode
-
getOperationMode
Gets the operation mode.- Returns:
- operation mode
-
setMaxSpecificGrowthRate
public void setMaxSpecificGrowthRate(double muMax) Sets the maximum specific growth rate.- Parameters:
muMax- maximum specific growth rate in 1/hr
-
getMaxSpecificGrowthRate
public double getMaxSpecificGrowthRate()Gets the maximum specific growth rate.- Returns:
- maximum specific growth rate in 1/hr
-
setMonodConstant
public void setMonodConstant(double ks) Sets the Monod half-saturation constant.- Parameters:
ks- half-saturation constant in g/L
-
getMonodConstant
public double getMonodConstant()Gets the Monod constant.- Returns:
- half-saturation constant in g/L
-
setContoisConstant
public void setContoisConstant(double ksx) Sets the Contois constant.- Parameters:
ksx- Contois constant in g/g
-
getContoisConstant
public double getContoisConstant()Gets the Contois constant.- Returns:
- Contois constant in g/g
-
setSubstrateInhibitionConstant
public void setSubstrateInhibitionConstant(double ki) Sets the substrate inhibition constant.- Parameters:
ki- substrate inhibition constant in g/L
-
getSubstrateInhibitionConstant
public double getSubstrateInhibitionConstant()Gets the substrate inhibition constant.- Returns:
- substrate inhibition constant in g/L
-
setProductInhibitionConcentration
public void setProductInhibitionConcentration(double pmax) Sets the product inhibition concentration threshold.- Parameters:
pmax- product concentration threshold in g/L
-
getProductInhibitionConcentration
public double getProductInhibitionConcentration()Gets the product inhibition concentration.- Returns:
- product inhibition concentration in g/L
-
setProductInhibitionExponent
public void setProductInhibitionExponent(double n) Sets the product inhibition exponent.- Parameters:
n- product inhibition exponent
-
getProductInhibitionExponent
public double getProductInhibitionExponent()Gets the product inhibition exponent.- Returns:
- product inhibition exponent
-
setYieldBiomass
public void setYieldBiomass(double yxs) Sets the biomass yield coefficient.- Parameters:
yxs- biomass yield in g cells / g substrate
-
getYieldBiomass
public double getYieldBiomass()Gets the biomass yield coefficient.- Returns:
- biomass yield in g cells / g substrate
-
setYieldProduct
public void setYieldProduct(double yps) Sets the product yield coefficient.- Parameters:
yps- product yield in g product / g substrate
-
getYieldProduct
public double getYieldProduct()Gets the product yield coefficient.- Returns:
- product yield in g product / g substrate
-
setMaintenanceCoefficient
public void setMaintenanceCoefficient(double ms) Sets the maintenance coefficient.- Overrides:
setMaintenanceCoefficientin classFermenter- Parameters:
ms- maintenance coefficient in g substrate / (g cells * hr)
-
getMaintenanceCoefficient
public double getMaintenanceCoefficient()Gets the maintenance coefficient.- Overrides:
getMaintenanceCoefficientin classFermenter- Returns:
- maintenance coefficient
-
setSubstrateConcentration
public void setSubstrateConcentration(double concGPerL) Sets the feed substrate concentration.- Parameters:
concGPerL- substrate concentration in g/L
-
getSubstrateConcentration
public double getSubstrateConcentration()Gets the substrate concentration.- Returns:
- substrate concentration in g/L
-
setBiomassConcentration
public void setBiomassConcentration(double concGPerL) Sets the biomass inoculum concentration.- Parameters:
concGPerL- biomass concentration in g/L
-
getBiomassConcentration
public double getBiomassConcentration()Gets the biomass concentration.- Returns:
- biomass concentration in g/L
-
setInitialProductConcentration
public void setInitialProductConcentration(double concGPerL) Sets the initial product concentration.- Parameters:
concGPerL- initial product concentration in g/L
-
setFeedingRate
public void setFeedingRate(double rateL_hr) Sets the feeding rate for fed-batch mode.- Parameters:
rateL_hr- feeding rate in L/hr
-
setFeedSubstrateConcentration
public void setFeedSubstrateConcentration(double concGPerL) Sets the feed substrate concentration for fed-batch mode.- Parameters:
concGPerL- feed substrate concentration in g/L
-
setBatchTime
public void setBatchTime(double hours) Sets the batch time for batch or fed-batch modes.- Parameters:
hours- batch time in hours
-
getBatchTime
public double getBatchTime()Gets the batch time.- Returns:
- batch time in hours
-
setProductComponentName
Sets the NeqSim component name for the fermentation product.- Parameters:
componentName- NeqSim component name (e.g. "ethanol", "methanol")
-
getProductComponentName
Gets the product component name.- Returns:
- product component name
-
setSubstrateComponentName
Sets the NeqSim component name for the substrate surrogate.- Parameters:
componentName- NeqSim component name (e.g. "n-hexane" as glucose surrogate)
-
getSubstrateComponentName
Gets the substrate component name.- Returns:
- substrate component name
-
setGasProductName
Sets the gas product component name.- Parameters:
componentName- gas product name (e.g. "CO2")
-
setGasYieldMolPerMol
public void setGasYieldMolPerMol(double yieldMolPerMol) Sets the gas yield per substrate consumed.- Parameters:
yieldMolPerMol- moles of gas per mole of substrate
-
getLiquidOutStream
Returns the liquid product outlet stream.- Returns:
- liquid outlet stream, or null if not yet run
-
getGasOutStream
Returns the gas product outlet stream.- Returns:
- gas outlet stream, or null if not yet run
-
getFinalBiomassConcentration
public double getFinalBiomassConcentration()Returns the final biomass concentration.- Returns:
- biomass concentration in g/L
-
getFinalSubstrateConcentration
public double getFinalSubstrateConcentration()Returns the final substrate concentration.- Returns:
- substrate concentration in g/L
-
getProductConcentrationGPerL
public double getProductConcentrationGPerL()Returns the final product concentration.- Returns:
- product concentration in g/L
-
getSubstrateConversion
public double getSubstrateConversion()Returns the substrate conversion.- Returns:
- substrate conversion fraction (0-1)
-
getSpecificGrowthRate
public double getSpecificGrowthRate()Returns the specific growth rate achieved.- Returns:
- specific growth rate in 1/hr
-
getProductivity
public double getProductivity()Returns the volumetric productivity.- Returns:
- productivity in g/(L*hr)
-
getSubstrateConsumedKgPerHr
public double getSubstrateConsumedKgPerHr()Returns the total substrate consumed.- Returns:
- substrate consumed in kg/hr
-
getProductFormedKgPerHr
public double getProductFormedKgPerHr()Returns the total product formed.- Returns:
- product formed in kg/hr
-
getOutletStreams
Returns all outlet streams produced by this equipment. Subclasses override to report their specific outlets. Used by graph builders, DEXPI export, and auto-instrumentation to discover topology withoutinstanceofchecks.- Specified by:
getOutletStreamsin interfaceProcessEquipmentInterface- Overrides:
getOutletStreamsin classTwoPortEquipment- Returns:
- unmodifiable list of outlet streams (empty by default)
-
computeGrowthRate
public double computeGrowthRate(double s, double x, double p) Computes the specific growth rate using the selected kinetic model.- Parameters:
s- substrate concentration in g/Lx- biomass concentration in g/Lp- product concentration in g/L- Returns:
- specific growth rate in 1/hr
-
run
Runs the fermentation reactor simulation.- Specified by:
runin interfaceSimulationInterface- Overrides:
runin classFermenter- Parameters:
id- UUID for this run
-
runContinuous
Runs continuous CSTR simulation solving steady-state mass balances.- Parameters:
id- UUID for this runvolL- reactor volume in liters
-
runBatch
Runs batch or fed-batch simulation using time integration.- Parameters:
id- UUID for this runvolL- reactor volume in liters
-
solveSteadyStateSubstrate
private double solveSteadyStateSubstrate(double dilutionRate) Solves for steady-state substrate concentration in CSTR from kinetic model.- Parameters:
dilutionRate- dilution rate in 1/hr (= 1/tau)- Returns:
- steady-state substrate concentration in g/L
-
solveSubstrateInhibited
private double solveSubstrateInhibited(double d) Solves substrate-inhibited kinetics for steady-state S.- Parameters:
d- dilution rate- Returns:
- steady-state substrate concentration
-
solveIterative
private double solveIterative(double d) Iterative solver for steady-state substrate in complex kinetic models.- Parameters:
d- dilution rate- Returns:
- steady-state substrate concentration
-
buildOutputStreams
Creates the liquid and gas output streams from fermentation results.- Parameters:
id- UUID for this runvolumetricFlowLPerHr- volumetric flow in L/hr
-
getResults
-
toJson
Serializes the Process Equipment along with its state to a JSON string.
- Specified by:
toJsonin interfaceProcessEquipmentInterface- Overrides:
toJsonin classStirredTankReactor- Returns:
- json string.
-