William l. luyben pdf




















This switching from heating to cooling is a pretty tricky operation, particu- larly if one is trying to heat up to T,,, as fast as possible but cannot permit any overshoot. A commonly used system is shown in Fig. The temperature con- troller keeps the steam valve V-l open and the cooling water valve V-2 shut during the heat-up. This is accomplished by using split-ranged valves, discussed later in Part III. Also during the heat-up, the cooling-water outlet valve V-3 is kept closed and the condensate valve V-4 is kept open.

Valve v-3 must be opened and valve V-4 must be shut when- ever cooling water is added. We will study in detail the simulation and control of this system later in this book. Here let us simply say that there is a known relationship between the error signal E or the temperature setpoint minus the reactor temperature and the volumetric flow rates of steam F, and cooling water F,.

We may even need to consider a third stage: filling the jacket with cooling water. During heating, a total continuity equation and an energy equation for the steam vapor may be needed, plus an equation of state for the steam.

Total continuity: 3. For example, if the perfect- pJ gas law and a simple vapor-pressure equation can be used, 3. Once TJ is known, P, can be calculated from the vapor-pressure equation. If the mass of the metal surrounding the jacket is significant, an energy equation is required for it. We will assume it negligible. In most jacketed reactors or steam-heated reboilers the volume occupied by the steam is quite small compared to the volumetric flow rate of the steam vapor.

Therefore the dynamic response of the jacket is usually very fast, and simple algebraic mass and energy balances can often be used. During the period when cooling water is flowing through the jacket, only one energy equation for the jacket is required if we assume the jacket is perfectly mixed. During the cooling stage we use Eq. As an example of the phenomenon, let us consider the gas-liquid bubble reactor sketched in Fig.

Reactant A is fed as a gas through a distributor into the bottom of the liquid-filled reactor. A chemical reaction occurs between A and B in the liquid phase to form a liquid product C. Reactant A must dissolve into the liquid before it can react.

Thus the reactor is mass-transfer limited. If the rate of mass transfer of the gas to the liquid is fast, the reactant A concentration will build up to some value as dictated by the steadystate reaction conditions and the equilibrium solubility of A in the liquid. The reactor is chemical-rate limited. Notice that in the mass-transfer-limited region increasing or reducing the concentration of reactant IS will make little difference in the reaction rate or the reactor productivity because the concentration of A in the liquid is so small.

Likewise, increasing the reactor temperature will not give an exponential increase in reaction rate. The reaction rate may actually decrease with increasing tem- perature because of a decrease in the equilibrium solubility of A at the gas-liquid interface. For simplic- ity, we will assume isothermal, constant-holdup, constant-pressure, and constant density conditions and a perfectly mixed liquid phase. The gas feed bubbles are assumed to be pure component A, which gives a constant equilibrium concentra- tion of A at the gas-liquid interface of Cx which would change if pressure and temperature were not constant.

The total mass-transfer area of the bubbles is A and could depend on the gas feed rate FA. A constant-mass-transfer coetli- ciF:t k, with units of length per time is used to give the flux of A into the liquid through the liquid film as a function of the driving force. We will assume the vapor-phase dynamics are very fast and that any unre- acted gas is vented off the top of the reactor.

Distillation is used in many chemical processes for separating feed streams and for purification of final and intermediate product streams. Most columns handle multicomponent feeds. But many can be approx- imated by binary or pseudobinary mixtures.

For this example, however, we will make several additional assumptions and idealizations that are sometimes valid but more frequently are only crude approximations. In the next example, a more realistic system will be modeled. We will assume a binary system two components with constant relative volatility throughout the column and theoretical percent efficient trays, i. See Fig. The overhead vapor is totally con- densed in a condenser and flows into the reflux drum, whose holdup of liquid is M, moles.

The contents of the drum is assumed to be perfectly mixed with composition xD. The liquid in the drum is at its bubblepoint. Reflux is pumped back to the top tray NT of the column at a rate R. Overhead distillate product is removed at a rate D. We will neglect any delay time deadtime in the vapor line from the top of the column to the reflux drum and in the reflux line back to the top tray in industrial-scale columns this is usually a good assumption, but not in small-scale laboratory columns.

Notice that y,, is not equal, dynamically, to xD. The two are equal only at steadystate. At the base of the column, liquid bottoms product is removed at a rate B and with a composition xB. Vapor boilup is generated in a thermosiphon reboiler at a rate V. Liquid circulates from the bottom of the column through the tubes in the vertical tube-in-shell reboiler because of the smaller density of the vapor- liquid mixture in the reboiler tubes.

We will assume that the liquids in the reboil- er and in the base of the column are perfectly mixed together and have the same composition xB and total holdup M, moles. The circulation rates through well- designed thermosiphon reboilers are quite high, so this assumption is usually a good one. The composition of the vapor leaving the base of the column and entering tray 1 is y,. It is in equilibrium with the liquid with composition xB.

The column contains a total of N, theoretical trays. The liquid holdup on each tray including the downcomer is M,. The liquid on each tray is assumed to be perfectly mixed with composition x,. The holdup of the vapor is assumed to be negligible throughout the system. Although the vapor volume is large, the number of moles is usually small because the vapor density is so much smaller than the liquid density.

This assumption breaks down, of course, in high-pressure columns. If the molar heats of vaporization of the two components are about the same, whenever one mole of vapor condenses, it vaporizes a mole of liquid.

Heat losses up the column and temperature changes from tray to tray sensible-heat effects are assumed negligible. These assumptions mean that the vapor and liquid rates through the stripping and rectifying sections will be constant under steadystate conditions. However, we are interested here in dynamic conditions.

The assumptions above, including negligible vapor holdup, mean that the vapor rate through all F z Cooling waterzyxwvutsrqponm?! The vapor boilup can be manipulated dynamically. The mathematical effect of assuming equimolal overtlow is that we do not need an energy equation for each tray.

This- is quite a significant simplification. They will depend on the fluid mechanics of the tray. Often a simple Francis weir formula relationship is used to relate the liquid holdup on the tray M, to the liquid flow rate leaving the tray L,. We will assume a simple functional relationship between liquid holdup and liquid rate. Finally, we will neglect the dynamics of the condenser and the reboiler.

In commercial-scale columns, the dynamic response of these heat exchangers is usually ,much faster than the response of the column itself. In some systems, however, the dynamics of this peripheral equipment are important and must be included in the model. With all these assumptions in mind, we are ready to write the equations describing the system. Adopting the usual convention, our total continuity equa- tions are written in terms of moles per unit time.

This is kosher because no chemical reaction is assumed to occur in the column. LLL -L 3. Each tray also has a hydraulic equation [Eq. We also need two equations representing the level controllers on the column base and reflux drum shown in Fig. The feed rate F and composition z are assumed to be given.

Number of variables : n Tray compositions x, and y. The two variables that must somehow be specified are reflux flow R and vapor boilup Y or heat input to the reboiler. They can be held constant an openloop system or they can be changed by two controllers to try to hold some other two variables constant. In a digital simulation of this column in Part II we will assume that two feedback controllers adjust R and V to control overhead and bottoms compositions xD and xB.

The assumptions that we will make are: 1. Liquid on the tray is perfectly mixed and incompressible. Tray vapor holdups are negligible. Dynamics of the condenser and the reboiler will be neglected. Vapor and liquid are in thermal equilibrium same temperature but not in phase equilibrium. A Murphree vapor-phase efficiency will be used to describe the departure from equilibrium. A general nth tray is sketched in Fig.

Nomencla- ture is summarized in Table 3. T-1 3. Then Eq. Additional equations include physical property relationships to get densities and enthalpies, a vapor hydraulic equation to calculate vapor flow rates from known tray pressure drops, and a liquid hydraulic relationship to get liquid flow TABLE 3.

We will defer any discussion of the very real practical problems of solving this large number of equations until Part II. If we listed all the variables in this system and subtracted all the equations describing it and all the parameters that are fixed all feeds , we would find that the degrees of freedom would be equal to the number of sidestreams plus two.

Thus if we have no sidestreams, there are only two degrees of freedom in this multicomponent system. This is the same number that we found in the simple binary column. Typically we would want to control the amount of heavy key impurity in the distillate x,,, HK and the amount of light key impurity in the bottoms xg, LK.

One column can be used to separate a multicomponent mixture instead of requiring NC - 1 con- tinuous columns. The energy consumption in batch distillation is usually higher than in continuous, but with small-volume, high-value products energy costs seldom dominate the economics. Fresh feed is charged into the still pot and heated until it begins to boil.

The vapor works its way up the column and is condensed in the condenser. When a liquid level has been established in the drum, reflux is pumped back to the top tray in the column. The column is run on total reflux until the overhead distillate composition of the lightest component component 1 xm reaches its specification purity.

Then a distillate product, which is the lightest component, is withdrawn at some rate. Eventually the amount of component 1 in the still pot gets very low and the xm purity of the distillate drops. There is a period of time when the distillate contains too little of component 1 to be used for that product and also too little of component 2 to be used for the next heavier product.

Then a second product is withdrawn. Thus multiple products can be made from a single column. The optimum design and operation of batch distillation columns are very interesting problems. The process can run at varying pressures and reflux ratios during each of the product and slop cuts. Theoretical trays, equimolal overflow, and constant relative volatilities are assumed.

The total amount of material charged to the column is M,, moles. This material can be fresh feed with composition zj or a mixture of fresh feed and the slop cuts. The composition in the still pot at the beginning of the batch is XBoj.

The composition in the still pot at any point in time is xBj. The instanta- neous holdup in the still pot is M,.

Tray liquid holdup and reflux drum holdup are assumed constant. The vapor boilup rate is constant at V moles per hour. The reflux drum, column trays, and still pot are all initially filled with material of.. The equations describing the batch distillation of a multicomponent mixture are given below. Still pot: dM, -c-D 3. The development and solution of mathematical models of these systems is, therefore, a vital part of chemical engineering dynamic modeling.

At each point in time, the hydrogen ion concentration is calculated by solving a set of simultaneous nonlinear algebraic equations that result from the chemical equilibrium relationships for each dissociation reaction. For example, suppose we have a typical wastewater pH control system. Several inlet feed streams with different chemical species, titration curves, and pH levels are fed into a perfectly mixed tank. If the feed streams are acidic, some source of OH- ions is used to bring the pH up to the specification of seven.

The equilibrium-constant method uses a dynamic model that keeps track of all chemical species. Suppose, for example, that we have three dissociating acids in the system. Let the concentration of acid HA at some point in time be CA. This concentration includes the part that is dissociated, plus the part that is not dissociated. These three acids come into the system in the feed streams. These nonlinear equations must be solved simultaneously at each point in time.

Usually an iterative method is used and sometimes convergence problems occur. The complexity grows as the number of chemical species increases. This modeling approach requires that the chemical species must be known and their equilibrium constants must be known. In many actual plant situations, this data is not available.

It involves only a simple iterative calculation for one unknown at each point in time. Let us assume that titration curves for the feed streams are known. These can be the typical sharp curves for strong acids or the gradual curves for weak acids, with or without buffering. The dynamic model keeps track of the amount of each stream that is in the tank at any point in time. Let C, be the concentra- tion of the nth stream in the tank, F, be the flow rate of that stream into the tank, and F,,, be the total flow rate of material leaving the tank.

If the volume of the liquid in the tank is constant, the outflow is the sum of all the inflows. The flow rates of caustic and lime slurry are usually negligible. The steps in the titration-curve method are: 1. At each point in time, all the C. Guess a value for pH in the tank. Use the titration curve for each stream to determine the amount of OH- ion required for that stream to bring it up to the guess value of pH. Check to see if the total amount of OH- actually present from Con is equal to the total amount required for all streams.

Reguess pH if step 4 does not balance. Simple interval-halving convergence see Chap. The titra- tion curves can be easily converted into simple functions to include in the com- puter program. For example, straight-line sections can be used to interpolate between data points.

The flow out of the bottom of the tank is proportional to the square root of the height h of liquid in the tank. Derive the equations describing the system. A perfect gas with molecular weight M flows at a mass flow rate W, into a cylinder through a restriction. The system is isothermal. Inside the cylinder, a piston is forced to the right as the pres- sure P builds up.

A spring resists the movement of the piston with a force that is proportional to the axial displacement x of the piston. The cross- sectional area of the cylinder is A. Assume the piston has negligible mass and fric- tion.

The flow rate over the weir as proportional to the height of liquid over the weir, h,,, to the 1. The weir height is h,. The cross-sectional area of the tank is A. Assume constant density. A first-order reaction takes place in the tank: k A - B Derive the equations describing the system. In order to ensure an adequate supply for the upcoming set-to with the Hatfields, Grandpa McCoy has begun to process a new batch of his famous Liquid Lightning moonshine.

He begins by pumping the mash at a constant rate F, into an empty tank. Assuming that the concentration of ethanol in the feed, C,, is constant and that the operation is iso- thermal, derive the equations that describe how the concentration C of ethanol in the tank and the volume V of liquid in the tank vary with time.

Assume perfect mixing and constant density. A rotating-metal-drum heat exchanger is half submerged in a cool stream, with its other half in a hot stream. Assume TH and T, are constant along their respective sections of the circumference. The drum length is L, thickness d, and radius R. Heat transfer coefficients in the heating and cooling zones are constant U, and U,.

Heat capac- ity C, and density of the metal drum are constant. Neglect radial temperature gra- dients and assume steadystate operation. Assume constant holdups VI and V, , constant throughput 0 F , constant density, isothermal operation at temperatures Tl and T2, and first- order kinetics with simultaneous reactions: h kz A - B A - C No reaction occurs in the plug-flow section.

Write the equations describing the system. Consider the isothermal hydraulic system sketched below. A slightly compressible polymer liquid is pumped by a constant-speed, positive displacement pump so that the mass flow rate WI is constant. A surge tank of volume V is located between R, and R, and is liquid full.

The pressure downstream of R, is atmospheric. This system has a large reflux drum into which the feed is charged. This material is fed to the top of the distillation column which acts like a stripper. Vapor is generated in a reboiler in the base. Heavy material is withdrawn from the bottom of the column.

Derive a mathematical model of this batch distillation system for the case where the tray holdups cannot be neglected. An ice cube is dropped into a hot, perfectly mixed, insulated cup of coffee.

Develop the equations describing the dynamics of the system. List all assumptions and define 3. The mixing is not perfect. Observation of flow patterns indicates that a two-tank system with back mixing, as shown in the sketch below, should approximate the imperfect mixing.

Assuming F and F, are constant, write the equations describing the system. The mass of the reactor wall and the Qmass of the jacket wall are also significant. Write the energy equations for the system. Neglect radial temperature gradients in the agitator, reactor wall, and jacket wall.

B is the desired product. Product C is a very volatile by-product that must be vented off to prevent a pressure buildup in the reactor. Gaseous C is vented off through a condenser to force any A and B back into the reactor to prevent loss of reactant and product. Assume F, is pure C. The reaction is first-order in CA.

Assume perfect gases and constant pressure. List all assumptions. There are two vessels as shown in Fig. Heat is added to or removed from the regenerator at a rate Q. Your dynamic mathematical model should be based on the following assump- tions : 1 The perfect-gas law is obeyed in both vessels. Catalyst heat capacity is also constant.

Flooded condensers and flooded reboilers are sometimes used on distillation columns. In the sketch below, a liquid level is held in the condenser, covering some of the tubes. Thus a variable amount of heat transfer area is available to condense the vapor. Column pressure can be controlled by changing the distillate or reflux drawoff rate. Write the equations describing the dynamics of the condenser.

When cooling jackets and internal cooling coils do not give enough heat transfer area, a circulating cooling system is sometimes used.

Process fluid from the reactor is pumped through an external heat exchanger and back into the reactor. Cooling water is added to the shell side of the heat exchanger at a rate zyxwvutsrqponm F, as set by the temperature controller. The circulation rate through the heat exchanger is constant. The reaction is irreversible and fist-order in reactant A: k A - B The contents of the tank are perfectly mixed. Neglect reactor and heat-exchanger metal. Derive a dynamic mathematical model of this system.

A semibatch reactor is run at constant temperature by varying the rate of addition of one of the reactants, A. The irreversible, exothermic reaction is first order in reac- tants A and B.

Maximum cooling-water flow is begun, and reactant A is slowly added to the perfectly stirred vessel. Without solving the equations, try to sketch the profiles of. F, A, CA, and C, with time during the batch cycle. Develop a mathematical model for the three-column train of distillation columns sketched below. Most of the lightest component is removed in the distillate of the first column, most of the next lightest in the second column distillate and the final column separates the final two heavy components.

Assume constant relative volatilities throughout the system: ai, a2, and as. The condensers are total condensers and the reboilers are partial. Trays, column bases, and reflux drums are perfectly mixed. Reflux flows are fixed. Steam flows to the reboilers are set by temperature controllers. Assume equimolal overflow, negligible vapor holdup, and negligible condenser and reboiler dynamics. Use a linear liquid hydraulic relation- ship where L and fi, are the initial steadystate liquid rate and holdup and fl is a con- stant with units of seconds.

The rate of pulp lay-down F on a paper machine is controlled by controlling both the pressure P and the height of slurry h in a feeder drum with cross-sectional area A. F is proportional to the square root of the pressure at the exit slit. The air vent rate G is proportional to the square root of the air pressure in the box P.

Feedback controllers set the inflow rates of air G, and slurry F, to hold P and h. Derive a dynamic mathematical model describing the system. A wax filtration plant has six filters that operate in parallel, feeding from one common feed tank.

Each filter can handle gpm when running, but the filters must be taken off-line every six hours for a cleaning procedure that takes ten minutes. The operating schedule calls for one filter to be cleaned every hour. How many gallons a day can the plant handle? If the flow rate into the feed tank is held constant at this average flow rate, sketch how the liquid level in the feed tank varies over a typical three-hour period.

Alkylation is used in many petroleum refineries to react unsaturated butylenes with isobutane to form high octane iso-octani: alkylate. The butylene feed stream is split and fed into each of a series of perfectly mixed tanks usually in one large vessel. This stepwise addition of butylene and the large excess of isobutane that is used both help to prevent undesirable reaction of butylene molecules with each other to form high-boiling, low octane polymers.

The reaction is exothermic. One method of heat removal that is often used is autorefrigeration: the heat of vaporization of the boiling hydrocarbon liquid soaks up the heat of reaction. Derive a dynamic mathematical model of the reactor.

Assume con- stant densities and complete miscibility. A number of useful numerical methods are discussed in Chap. Several examples are given in Chap. Only digital simulation solutions for ordinary differential equations are pre- sented. To present anything more than a very superficial treatment of simulation techniques for partial differential equations would require more space than is available in this book. This subject is covered in several texts. The techniques presented will be quite simple and unso- phisticated, but I have found them to work just as well for most real systems as those that are more mathematically elegant.

They also have the added virtues of being easy to understand and easy to program. Some of the simple linear equations that we will simulate can, of course, be solved analytically by the methods covered in Part III to obtain general solu- tions.

The nonlinear equations cannot, in general, be solved analytically, and computer simulation is usually required to get a solution. Keep in mind, however, that you must give the computer specific numerical values for param- eters, initial conditions, and forcing functions. And you will get out of the com- puter specific numerical values for the solution. You cannot get a general solution in terms of arbitrary, unspecified inputs, parameters, etc.

Those who prefer other languages will find the conversion fairly easy since the programs are simple trans- lations of the equations into source code.

All programs can be run on any type of computer, personal computers or mainframes. The big multicomponent distilla- tion column simulations require a lot of number crunching so are usually run on a mainframe. Most of the other programs can be conveniently run on personal computers. The principal difficulties are two: 1 solution of simulta- neous nonlinear algebraic equations usually done by some iterative method , and 2 numerical integration of ordinary differential equations using discrete finite- difference equations to approximate continuous differential equations.

The accuracy and the numerical stability of these approximating equations must be kept in mind. Both accuracy and stability are affected by the finite- difference equation or integration algorithm employed, Many algorithms have been proposed in the literature. Some work better i. Unfor- tunately there is no one algorithm that works best for all problems. However, as we will discuss in more detail later, the simple first-order explicit Euler algorithm is the best for a large number of engineering applications.

Over the years a number of digital simulation packages have been devel- oped. In theory, these simulation languages relieve the engineer of knowing any- thing about numerical integration. They automatically monitor errors and stability and adjust the integration interval or step size to stay within some accu- racy criterion.

In theory, these packages make it easier for the engineer to set up and solve problems. In practice, however, these simulation languages have limited utility. In their push for generality, they usually have become inefficient.

Proponents of these packages argue, however, that the setup and program- ming time is reduced by using simulation languages. But almost all high school and certainly all engineering graduates know some computer programming language. So using a simulation package requires the engineer to learn a new language and a new system. Since some language is already known and since the simple, easily programmed numerical techniques work well, it has been my experience that it is much better for the engineer to develop a specific program for the problem at hand.

Not only is it more computationally efficient, but it guarantees that the engineer knows what is in the program and what the assumptions and techniques are. On the other hand, the use of special subroutines for doing specific calcu- lations is highly recommended. And of course there are usually extensive libraries of sub- routines available at most locations such as the IMSL subroutines. I assume that you know some computer programming language.

However, it might be useful to make a few comments and give you a few tips about programming. These thoughts are not coming from a computer scien- tist who is interested in generating the most efficient and elegant code, but from an engineer who is interested in solving problems.

Many people get all excited about including extensive comment statements in their code. Some go so far as to say that you should have two lines of com- ments for every one line of code. In my view this is ridiculous! If you use symbols in your program that are the same as you use in the equations describing the system, the code should be easy to follow.

Some comment statements to point out the various sections of the program are fine. This gives a more compact program but makes it much more difficult to understand the code. Almost always, you will have some mistake in your program, either in coding or in logic. Always, repeat always, put loop counters in any iterative loops. This is illustrated in the bubble- point calculation programs given later in this chapter.

It takes a fair amount of tenacity to get all the kinks out of some simulations. When your program is not working correctly, the easiest thing to do is to put into the program print statements at each step in the calculations so that you can figure out what you have done wrong or where the coding or logic error is located. One of the most frustrating coding errors, and one that is the toughest to find, is when you overfill an array. This usually just wipes out your program at some spot where there is nothing wrong with the program, and many FORTRAN compilers will not give a diagnostic warning of this problem.

Be very careful to check that all dimensioned variables have been adequately dimen- sioned. Always make sure that the calls to a subroutine use the correct sequence of arguments and that all COMMON statements in all subroutines are exactly the same-as that in the main program.

For the experienced programmer, the above comments are trivial, but they may save the beginner hours of frustration. The fun part of using the computer is getting useful results from the program once it is working correctly, not in coding and debugging. If these equations contain transcendental functions, analytical solutions are impossible.

Therefore, an iterative trial-and- error procedure of some sort must be devised. If there is only one unknown, a value for the solution is guessed. It is plugged into the equation or equations to see if it satisfies them. If not, a new guess is made and the whole process is repeated until the iteration converges we hope to the right value.

The key problem is to find a method for making the new guess that con- verges rapidly to the correct answer. There are a host of techniques. Unfor- tunately there is no best method for all equations. Some methods that converge very rapidly for some equations will diverge for other equations; i. This is one kind of numerical instability. We will discuss only a few of the simplest and most useful methods. Fortu- nately, in dynamic simulations, we start out from some converged initial steady- state.

At each instant in time, variables have changed very little from the values they had a short time before. Thus we always are close to the correct solution. The problem is best understood by considering an example. One of the most common iterative calculations is a vapor-liquid equilibrium bubblepoint calculation.

Example 4. We are given the pressure P and the liquid composition x. We want to find the bubblepoint temperature and the vapor composition as discussed in Sec. For simplicity let us assume a binary system of components 1 and 2.

Com- ponent 1 is the more volatile, and the mole fraction of component 1 in the liquid is x and in the vapor is y. The partial pressures of the two components? The procedure is as follows: 1. Donations If you want to make a donation, use my PayPal account: francisco.

Related Papers. By Atif ur Rehman. By Dian Mata. Solved problems. Chapter 6: Time-domain dynamics: Part II. By Francisco Angel. Fall By Ahmed A Abdala. Download pdf. Engineering Education for the 21st Century. Controller design based on Model Predictive Control for a nonlinear process. Nowadays process industries require accurate, efficient and flexible operation of the plants. The need for development of innovative technologies for process modeling, dynamic trajectory optimization … Expand.

View 1 excerpt. Engineering, Computer Science. View 1 excerpt, cites background. Application of feedback control principles for solving differential- algebraic systems of equations in process control education. Abstract Simulation of control systems often involves the solution of systems of ordinary differential and implicit algebraic equations DAE's. The software packages which are most widely used in … Expand.

The issues raised in advanced process control applications lead control engineers to be aware of the need of integrating advanced information processing capabilities in the process control loop. In … Expand. Interaction between process design and process control: economic analysis of process dynamics.

Abstract A method is presented to assess the impact of disturbances on plant economic performance.



0コメント

  • 1000 / 1000